Leptonica
C API สำหรับการประมวลผลภาพขั้นสูง
ไลบรารี Open Source C ช่วยให้นักพัฒนาดำเนินการประมวลผลภาพขั้นสูงได้ เช่น การปรับขนาดภาพ การแปล การหมุน แรงเฉือนภายในแอปของตนเอง
Leptonica เป็นไลบรารีประมวลผลภาพ C แบบโอเพ่นซอร์สและการวิเคราะห์ภาพที่มีประโยชน์มากสำหรับการทำงานกับภาพเอกสารและภาพที่เป็นธรรมชาติ ไลบรารีมีความเสถียรมาก และได้รวมการรองรับรูปแบบรูปภาพมากมาย เช่น JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF และ PDF คุณสามารถดำเนินการอ่านและเขียนรายการรูปแบบรูปภาพที่ให้มาได้อย่างง่ายดาย ไลบรารีส่วนใหญ่ใช้วิธีเชิงวัตถุและชุดของหลักการออกแบบที่ทำให้โค้ดปลอดภัย พกพาสะดวก และโปร่งใส
ไลบรารีนี้ให้การสนับสนุนการดำเนินการที่สำคัญหลายอย่างและชุดเครื่องมือสำหรับการประมวลผลภาพตลอดจนการวิเคราะห์ภาพ ไลบรารีรองรับการดำเนินการต่างๆ เช่น การปรับขนาดภาพ การแปล การหมุน แรงเฉือน การแปลงภาพโดยมีการเปลี่ยนแปลงความลึกของพิกเซล สัณฐานวิทยาไบนารีและสเกลสีเทา การปิดบัง Pixelwise การผสม การเพิ่มประสิทธิภาพ การคำนวณทางคณิตศาสตร์ และอื่นๆ อีกมากมาย นอกจากนี้ยังรองรับยูทิลิตี้ที่สำคัญหลายอย่าง เช่น สำหรับการจัดการอาร์เรย์ของประเภทข้อมูลที่เกี่ยวข้องกับรูปภาพ เช่น pixa, boxa, pta และ อื่นๆ
นอกจากนี้ยังมีฟังก์ชันสำหรับอ่านและเขียนไฟล์ที่มีรูปภาพหลายภาพและเขียนไฟล์ด้วยแท็ก TIFF พิเศษที่ฝังอยู่ในส่วนหัว นอกจากนี้ยังช่วยให้นักพัฒนาสามารถเขียนไฟล์ PostScript ได้หลายรูปแบบ เช่น การแปลงเป็น PDF ภาพแรสเตอร์ และการแปลงไฟล์ PostScript เป็นชุดของภาพที่บีบอัด
เริ่มต้นใช้งาน Leptonica
วิธีที่ง่ายที่สุดในการติดตั้ง Leptonica คือการใช้ผ่าน GitHub โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง Leptonica ผ่าน GitHub
git clone --depth=1 https://github.com/mrdoob/three.js.git
การอ่านและการเขียนภาพ
ห้องสมุดโอเพนซอร์ส Leptonica ให้ผู้พัฒนาซอฟต์แวร์ความสามารถในการอ่านและเขียนภาพภายในแอปพลิเคชันของตนเอง มันมีวิธีการที่สําคัญหลายสําหรับการอ่านและการเขียนภาพเช่นระดับต่ําและระดับสูงฟังก์ชั่นสําหรับการอ่านและการเขียนข้อมูลภาพฟังก์ชั่นสําหรับการอ่านและการเขียนไฟล์ที่มีภาพหลายไฟล์ที่มีแท็ก TIFF ที่ฝังอยู่ในส่วนหัว มีบางรหัสเฉพาะยังได้รับการสนับสนุนโดยห้องสมุด
อ่านรูปภาพผ่านห้องสมุด Leptonica
// Open input image with leptonica library
Pix *image = pixRead("/usr/src/tesseract-3.02/phototest.tif");
api->SetImage(image);
// Get OCR result
char *outText;
outText = api->GetUTF8Text();
การปรับขนาดภาพผ่าน C Library
ไลบรารีโอเพ่นซอร์ส Leptonica ได้ให้การสนับสนุนอย่างเต็มที่สำหรับการปรับขนาดภาพภายในแอปพลิเคชัน C ของตนเองอย่างง่ายดาย มีฟังก์ชันการปรับสเกลมากมายที่ Leptonica ให้บริการ เช่น การเพิ่มสเกลโดยใช้การประมาณค่าเชิงเส้น การลดขนาดโดยใช้การสุ่มตัวอย่างย่อย หรือโดยการทำแผนที่พื้นที่ การสุ่มตัวอย่าง การเพิ่มสเกลการแก้ไขเชิงเส้น 2x และ 4x การสุ่มตัวอย่างย่อยจำนวนเต็มของ RGB เป็นสีเทาหรือไบนารี และอื่นๆ อีกมากมาย นอกเหนือจากการปรับขนาดที่รวดเร็วมากบนรูปภาพไบนารีแล้ว และมีประโยชน์สำหรับการวิเคราะห์รูปภาพของข้อความไบนารีที่สแกน
การหมุนภาพที่ดีขึ้นผ่าน C Library
ไลบรารีโอเพ่นซอร์ส Leptonica ได้ให้การสนับสนุนการหมุนภาพภายในแอปพลิเคชัน C ของตัวเอง มีหลายวิธีในการบรรลุการดำเนินการหมุนภาพ เช่น การหมุนด้วยแรงเฉือน การหมุนโดยการทำแผนที่พื้นที่ การหมุนแบบพิเศษ 90 องศา 180 หรือ 270 องศา การหมุนด้วยแรงเฉือน 2 หรือ 3 ครั้ง และอื่นๆ อีกมากมาย
การหมุนภาพ 180 องศาผ่านห้องสมุด C
extra = w & 31;
if (extra)
shift = 32 - extra;
else
shift = 0;
if (shift)
rasteropHipLow(datas, w, h, d, wpls, 0, h, shift);
databpl = (w + 7) / 8;
bpl = 4 * wpls;
for (i = 0; i < h; i++) {
lines = datas + (h - 1 - i) * wpls;
lined = datad + i * wpld;
for (j = 0; j < databpl; j++) {
if (val = GET_DATA_BYTE(lines, bpl - 1 - j))
SET_DATA_BYTE(lined, j, tab[val]);
}
}
if (shift)
rasteropHipLow(datas, w, h, d, wpls, 0, h, -shift);