Java DIP - ไลบรารีโอเพนซอร์ส

ในบทนี้เราจะสำรวจไลบรารีการประมวลผลภาพฟรีบางส่วนที่ใช้กันอย่างแพร่หลายและสามารถรวมเข้ากับโครงการได้อย่างง่ายดาย ห้องสมุดเหล่านี้ ได้แก่ -

  • ImageJ
  • Fiji
  • การถ่ายภาพทั่วไป
  • ImageMagick
  • Endrov
  • LeadTools
  • OpenCv

อิมเมจจ

ImageJ เป็นโปรแกรมประมวลผลภาพ Java โดเมนสาธารณะที่ได้รับแรงบันดาลใจจาก NIH Image สำหรับ Macintosh สามารถแสดงแก้ไขวิเคราะห์ประมวลผลบันทึกและพิมพ์ภาพ 8 บิต 16 บิตและ 32 บิต

คุณสมบัติพื้นฐานบางประการของ ImageJ มีอธิบายไว้ด้านล่าง -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

Runs Everywhere

ImageJ เขียนด้วย Java ซึ่งอนุญาตให้ทำงานบน Linux, Mac OS X และ Windows ทั้งในโหมด 32 บิตและ 64 บิต

2

Open Source

ImageJ และซอร์สโค้ด Java สามารถใช้ได้อย่างอิสระและเป็นสาธารณสมบัติ

3

Toolkit

ใช้ ImageJ เป็นชุดเครื่องมือการประมวลผลภาพ (ไลบรารีคลาส) เพื่อพัฒนาแอพเพล็ต servlets หรือแอปพลิเคชัน

4

Data Types

สีเทาหรือสีที่จัดทำดัชนี 8 บิตจำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อจุดลอยตัว 32 บิตและสี RGB

5

File Formats

เปิดและบันทึก GIF, JPEG, BMP, PNG, PGM, FITS และ ASCII เปิด DICOM เปิด TIFFs, GIFs, JPEGs, DICOMs และข้อมูลดิบโดยใช้ URL

6

Selections

สร้างการเลือกพื้นที่รูปสี่เหลี่ยมผืนผ้ารูปไข่หรือไม่สม่ำเสมอ สร้างการเลือกเส้นและจุด

7

Image Enhancement

รองรับการปรับให้เรียบ, ความคมชัด, การตรวจจับขอบ, การกรองค่ามัธยฐานและการกำหนดขีด จำกัด สำหรับภาพสีเทา 8 บิตและ RGB

8

Color Processing

แยกภาพสี 32 บิตเป็นส่วนประกอบ RGB หรือ HSV ผสานส่วนประกอบ 8 บิตเข้ากับภาพสี

ฟิจิ

ฟิจิเป็นแพ็คเกจการประมวลผลภาพ สามารถอธิบายได้ว่าเป็นการกระจาย ImageJ (และ ImageJ2) ร่วมกับ Java, Java3D และปลั๊กอินจำนวนมากที่จัดเป็นโครงสร้างเมนูที่สอดคล้องกัน ฟิจิเปรียบเทียบกับ ImageJ เมื่อ Ubuntu เปรียบเทียบกับ Linux

นอกเหนือจากคุณสมบัติพื้นฐานของ ImageJ แล้วคุณสมบัติขั้นสูงบางอย่างของฟิจิมีอธิบายไว้ด้านล่าง -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

Registering 3D images

สิ่งนี้เกี่ยวข้องกับการจัดตำแหน่งและการตัดต่อแบบยืดหยุ่นการแยกคุณลักษณะการป้องกันภาพสั่นไหวเป็นต้น

2

Segmenting images

มีการแบ่งส่วนมากกว่า 35 ประเภท

3

Useful keyboard short cuts

ฟูจิมีแป้นพิมพ์ลัดมากมาย

4

Scripting

อนุญาตให้เขียนสคริปต์ด้วยมาโครใน JavaScript, JRuby, Jython, Clojure และ Beanshell

5

Developing Plug-ins

ใช้ Script Editor เพื่อเริ่มการพัฒนาปลั๊กอินจากนั้นเรียกใช้ปลั๊กอิน

6

ImageJ Tricks

ImageJ ใช้งานง่าย แต่บางครั้งคุณต้องการฟังก์ชั่นบางอย่างที่ใช้งานได้จริง แต่คุณไม่รู้วิธีเรียกใช้

การถ่ายภาพทั่วไป

Apache Commons Imaging ก่อนหน้านี้รู้จักกันในชื่อ Apache Commons Sanselan เป็นไลบรารีที่อ่านและเขียนรูปแบบภาพที่หลากหลายรวมถึงการแยกวิเคราะห์ข้อมูลภาพอย่างรวดเร็วเช่น (ขนาดสีพื้นที่โปรไฟล์ ICC ฯลฯ ) และข้อมูลเมตา

คุณสมบัติพื้นฐานบางประการของ ImageJ มีอธิบายไว้ด้านล่าง -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

Java

Apache Commons Imaging เขียนด้วย Java แท้ 100% ดำเนินการบน JVM ใด ๆ และแพลตฟอร์มใด ๆ โดยไม่ต้องดัดแปลง

2

Image Formats

มันอ่านและเขียนรูปแบบภาพที่หลากหลายและรองรับรูปแบบและการเข้ารหัสบางอย่างที่ไม่ได้รับจากไลบรารีอื่น ๆ ทั้งหมดหรือเกือบทั้งหมด

3

Metadata support

สนับสนุนการอ่านและเขียนข้อมูลเมตาที่หลากหลายในรูปแบบที่มีโครงสร้างรวมถึงข้อมูลเมตา EXIF

4

Network Friendly

เป็นมิตรกับเครือข่าย Commons Imaging จะอ่านเฉพาะข้อมูลที่ต้องการและแคชสิ่งที่อ่านเพื่อไม่ให้หนักเกินไปในเครือข่าย

5

Easy to use

ออกแบบมาให้ใช้งานง่ายมาก มีอินเทอร์เฟซที่เรียบง่ายและสะอาดตา การดำเนินการส่วนใหญ่เป็นการเรียกวิธีการสร้างภาพเพียงครั้งเดียว

6

Transparent

Commons Imaging มีจุดมุ่งหมายเพื่อความโปร่งใส ไม่มีบัฟเฟอร์ที่ซ่อนอยู่ในการกำจัดไม่มีหน่วยความจำดั้งเดิมให้ว่างไม่มีเธรดพื้นหลัง

7

Open Source

เป็นซอฟต์แวร์ฟรี / โอเพ่นซอร์ส สามารถใช้ได้ภายใต้ใบอนุญาตซอฟต์แวร์ Apache

8

Color Conversions

คลาส ColorConversions เสนอวิธีการแปลงระหว่างช่องว่างสีต่อไปนี้ - CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ และ YXY

ImageMagick

ImageMagick เป็นชุดซอฟต์แวร์สำหรับสร้างแก้ไขแต่งหรือแปลงภาพบิตแมป สามารถอ่านและเขียนภาพได้มากกว่า 100 รูปแบบ ได้แก่ DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG และ TIFF ใช้ ImageMagick เพื่อปรับขนาดพลิกกระจกหมุนบิดเบือนเฉือนและแปลงภาพปรับสีของภาพใช้เทคนิคพิเศษต่างๆหรือวาดข้อความเส้นรูปหลายเหลี่ยมจุดไข่ปลาและเส้นโค้ง Bezier

คุณสมบัติพื้นฐานบางประการของ ImageMagick มีอธิบายไว้ด้านล่าง -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

Format conversion

จะแปลงภาพจากรูปแบบหนึ่งไปเป็นอีกรูปแบบหนึ่ง (เช่น PNG เป็น JPEG)

2

Transform

สามารถปรับขนาดหมุนครอบตัดพลิกหรือตัดแต่งภาพ

3

Transparency

มันทำให้บางส่วนของภาพที่มองไม่เห็น

4

Draw

เพิ่มรูปร่างหรือข้อความให้กับรูปภาพ

5

Decorate

เพิ่มเส้นขอบหรือกรอบให้กับรูปภาพ

6

Special effects

สามารถเบลอเพิ่มความคมชัดขีด จำกัด หรือย้อมสีภาพได้

7

Animation

สามารถสร้างลำดับภาพเคลื่อนไหว GIF จากกลุ่มภาพ

8

Composite

มันสามารถซ้อนภาพหนึ่งทับอีกภาพหนึ่งได้

9

Morphology of shapes

มันแยกคุณสมบัติอธิบายรูปร่างและจดจำรูปแบบในภาพ

10

Encipher or decipher an image

มันแปลงภาพธรรมดาให้กลายเป็นคำพูดพล่อยๆที่ไม่เข้าใจและกลับมาอีกครั้ง

Endrov

Endrov คือโปรแกรมวิเคราะห์ภาพเอนกประสงค์ เขียนขึ้นโดยอิสระและออกแบบมาเพื่อแก้ไขข้อบกพร่องหลายประการของซอฟต์แวร์เสรีอื่น ๆ และแพ็คเกจเชิงพาณิชย์จำนวนมาก

คุณสมบัติพื้นฐานบางประการของ Endrov มีการอธิบายไว้ด้านล่าง -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

View data

ดูข้อมูลในรูปแบบ 2 มิติและ 3 มิติ ออกแบบมาเพื่อรองรับโครงร่างข้อมูล 4D ที่ซับซ้อนและไม่ จำกัด จำนวนช่องสัญญาณโดยแต่ละช่องสามารถมีความละเอียด X, Y และ Z ของตัวเองได้

2

Annotate your images

มันใส่คำอธิบายประกอบภาพของคุณโดยอัตโนมัติหรือด้วยมือเพื่อทำความเข้าใจและรับสถิติ

3

Undo and Redo

สามารถเลิกทำและทำซ้ำสำหรับการดำเนินการทั้งหมด

4

Lazy Evaluation

ได้รับการออกแบบจากพื้นดินเพื่อรองรับชุดภาพขนาดใหญ่ Endrov ใช้การประเมินแบบขี้เกียจซึ่งเป็นแนวคิดที่มีอยู่ในภาษาโปรแกรมการวิจัยเป็นส่วนใหญ่

5

Scripting language

รองรับภาษาสคริปต์แบบกราฟิกเช่นเดียวกับการเขียนสคริปต์แบบดั้งเดิม

6

Java

เขียนด้วยภาษา Java สถาปัตยกรรมปลั๊กอินช่วยให้สามารถขยายได้ง่ายด้วยปลั๊กอิน Java ใหม่ มันสามารถโต้ตอบกับ Matlab

7

Formats

เข้าถึงรูปแบบไฟล์เชิงพาณิชย์และแบบเปิดเกือบทั้งหมดโดยใช้รูปแบบไบโอ

8

Microscopic Processing

สามารถควบคุมกล้องจุลทรรศน์ทั้งหมดของคุณด้วยโปรแกรมเดียวและทำการวิเคราะห์ภาพได้ทันที

LEADTOOLS

LEADTOOLS มีฟังก์ชันการประมวลผลภาพมากกว่า 200 รายการในหลายประเภทรวมถึงการล้างเอกสารการปรับปรุงภาพทางการแพทย์การแปลงสีและการแก้ไขการลดจุดรบกวนการตรวจจับขอบและอื่น ๆ

คุณสมบัติพื้นฐานบางประการของ LEADTOOLS มีอธิบายไว้ด้านล่าง -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

Scanned Document Image Processing

ชุดฟังก์ชันที่มีประสิทธิภาพนี้สามารถอ่านเอกสารที่สแกนของสิ่งประดิษฐ์และความไม่สมบูรณ์เช่นรูที่เจาะมุมเอียงขอบจุดฝุ่นและอื่น ๆ

2

Medical Image Processing

ปรับปรุงภาพหรือเน้นรายละเอียดโดยการเลื่อนเลือกลบและลบพื้นหลังเพื่อให้ได้ภาพที่ดีขึ้น

3

Geometric Transformation

ฟังก์ชันเหล่านี้สามารถใช้เพื่อทำความสะอาดจัดแนวแก้ไขภาพหรือใช้เอฟเฟกต์ 3D เชิงศิลปะ

4

Brightness and Contrast

ฟังก์ชันเหล่านี้สามารถใช้เพื่อปรับปรุงภาพใช้เอฟเฟ็กต์ทางศิลปะหรือช่วยในการประเมินผลการวินิจฉัยภาพทางการแพทย์

5

Color Space Conversion

พวกเขาสามารถเพิ่มฟังก์ชันพื้นที่สีของภาพให้กับแอปพลิเคชันเดียวและหลายเธรดรวมถึงแอปพลิเคชันที่โฮสต์ IIS และ Windows WF

6

Color Correction

ฟังก์ชันเหล่านี้ใช้เพื่อแก้ไขภาพด้วยช่องสีที่สลับปรับสมดุลความเข้มของสีหรือดำเนินการวิเคราะห์ภาพต่างๆ

7

Image Enhancement

ฟังก์ชันเหล่านี้ใช้เพื่อแก้ไขข้อผิดพลาดทั่วไปในการถ่ายภาพเช่นตาแดงและสีที่ไม่สมดุลรวมทั้งช่วยในการประเมินการวินิจฉัยภาพทางการแพทย์

8

Region of Interest

ฟังก์ชันเหล่านี้ใช้เพื่อสร้างและปรับเปลี่ยนพื้นที่ที่สนใจในรูปภาพเพื่อทำหน้าที่ประมวลผลภาพในบางส่วนของรูปภาพประหยัดเวลาในบาร์โค้ดและการจดจำ OCR หรือดำเนินการวิเคราะห์รูปภาพต่างๆ

OpenCV

OpenCV ได้รับการเผยแพร่ภายใต้ใบอนุญาต BSD และด้วยเหตุนี้จึงฟรีสำหรับการใช้งานเชิงวิชาการและเชิงพาณิชย์ มีอินเตอร์เฟส C ++, C, Python และ Java และรองรับ Windows, Linux, Mac OS, iOS และ Android OpenCV ได้รับการออกแบบมาเพื่อประสิทธิภาพในการคำนวณและเน้นการใช้งานแบบเรียลไทม์ เขียนด้วย C / C ++ ที่ปรับให้เหมาะสมไลบรารีสามารถใช้ประโยชน์จากการประมวลผลแบบมัลติคอร์

คุณสมบัติพื้นฐานบางประการของ OpenCV อธิบายสั้น ๆ -

ซีเนียร์ คุณลักษณะและคำอธิบาย
1

Smoothing Images

สิ่งนี้เกี่ยวข้องกับการใช้ Blur, GaussianBlur, medianBlur และ bilateral Filter

2

Eroding and Dilating

สามารถใช้ตัวดำเนินการทางสัณฐานวิทยาที่พบบ่อยสองตัว ได้แก่ การขยายและการพังทลาย

3

Morphology Transformations

ฟังก์ชัน OpenCV สัณฐานวิทยา Ex เพื่อใช้การเปลี่ยนแปลงทางสัณฐานวิทยาเช่นการเปิดปิด TopHat และ BlackHat เป็นต้น

4

Image Pyramids

ฟังก์ชัน OpenCV pyrUp และ pyrDown เพื่อลงตัวอย่างหรืออัพตัวอย่างภาพที่กำหนด

4

Basic Thresholding Operations

ดำเนินการขีด จำกัด พื้นฐานโดยใช้ขีด จำกัด ฟังก์ชัน OpenCV

5

Adding borders to your images

ฟังก์ชัน OpenCV copyMakeBorder ใช้เพื่อกำหนดเส้นขอบ (ช่องว่างเพิ่มเติมให้กับรูปภาพของคุณ)

7

Remapping

ใน OpenCV การรีแมปฟังก์ชันนำเสนอการใช้งานการรีแมปที่เรียบง่าย

8

Histogram Calculation

เพื่อวัตถุประสงค์ง่ายๆ OpenCV ใช้ฟังก์ชัน calcHist ซึ่งจะคำนวณฮิสโตแกรมของชุดอาร์เรย์ (โดยปกติจะเป็นภาพหรือระนาบภาพ) สามารถทำงานได้ถึง 32 มิติ