วันอังคารที่ 17 มกราคม พ.ศ. 2560

เมนู Process with ImageJ [ตอนที่ 26] Binary, Ultimate Points หาจุดกึงกลางของวัตถุ

Ultimate Points

เป็นการหาจุดกึ่งกลางที่เกิดจากการกัดกร่อนจุดรอบนอกด้วยวิธี Euclidian Distance Map (EDM)  จุด Ultimate eroded Point (UEPs) จะเป็นค่ามากที่สุดใน EDM ผลลัพธ์ที่ได้จะเป็นจุดศูนย์กลางของวัตถุ และแต่ละจุดจะมีขนาดเท่ากับรัศมีของวงกลมที่ใหญ่ที่สุด ในแต่ละวัตถุที่กระจัดกระจายในภาพ

ตัวอย่าง


การเลือกเมนู


ผลลัพธ์

จะเป็นจุดที่จุดกลางของวัตถุแต่ละชิ้นที่หาได้ ตรงภาพอาจจะดูไม่ชัด จะมีภาพที่ขีดลูกศรให้ดูตำแหน่งด้านล่างประกอบ



ภาพด้านล่างเป็นภาพที่มีลูกศรขีดกำกับ

วันจันทร์ที่ 16 มกราคม พ.ศ. 2560

เมนู Process with ImageJ [ตอนที่ 25] Binary, Distance Map การไล่เกี่ยสีวัตถุสีดำบนพื้นสีขาว

Distance Map


เป็นการสร้าง Euclidian distane map (EDM) จากภาพขาวดำ แต่ละรอบของการประมวลผลพิกเซลด้วยการแทนที่ค่าพิกเซลด้วยค่าระดับเทาตามระยะห่างจากสีพื้นหลัง (สำหรับภาพที่มีพื้นหลังของ EMD มีค่าเป็น 0) อัลกอริทึม EDM ยังเป็นพื้นฐานของอัลกอริทึมอีกหลายตัว เช่น Ultimate Points, Watershed และ Voronoi

ผลลัพธ์ที่สามารถเป็นไปได้สามารถกำหนดเป็นไปได้ทั้งภาพแบบต้นฉบับ ภาพ 8 บิต ภาพ16 บิต ภาพ 32 บิต สำหรับภาพแบบเขียนทับ และ 8 บิต หากระยะห่างเกิน 255 จะมีค่าเป็น 255

ตัวอย่าง


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



การเลือกเมนู



ผลลัพธ์



เมนู Process with ImageJ [ตอนที่ 24] Binary, Skeletonise สร้างภาพเส้นขอบด้วยเทคนิคโครงกระดูก

Skeletonise


เป็นวิธีการลดขนาดรูปร่างและเส้นขอบของวัตถุที่มีความหนามาก ๆ ให้มีขนาดเพียงเส้นเดียว เช่นเดียวกับการเจาะแกนลงไปให้เหลือโครงร่างที่คล้ายโครงกระดูก หรือ 1  พิกเซล โปรแกรม ImageJ  ได้ใช้อัลกอริทึมสำหรับกระบวนการนี้จาก แนวคิดของ Zhang and Suen จากวิจัยของเขาคือ A fast parallel algorithm for thining degital patterns. CACM 27(3):236-239, 1984. ด้วยการสร้างตาราง lookup table จำนวน 256 indexs และกำหนดค่า 3x3 สำหรับการปรับค่าพิกเซลของวัตถุที่ไม่ใช่พื้นหลัง อัลกอริทึมจะประมวลผลสำหรับทุก ๆ วัตถุ โดยเทียบกับตาราง lookup table เพื่อกำจัดพิกเซลที่ไม่ใช่ออกไป จนกระทั้งไม่มีพิกเซลที่สามารถกำจัดได้ ซึ่งจะความหนาขนาด 1 พิกเซลที่เป็นผลัพธ์นั่นเอง

เราสามารถกำหนดค่าแอนิเมชั่นสำหรับการทำงานของอัลกอริทึมได้ ด้วยการเปิดการใช้งานที่ Edit->Options->Misc..., Skeletonize ก็จะสามารถเห็นการทำงานในแต่ละรอบของอัลกอริทึมได้

ตัวอย่าง




การเลือกเมนู


ผลลัพธ์ที่ได้



วันจันทร์ที่ 9 มกราคม พ.ศ. 2560

เมนู Process with ImageJ [ตอนที่ 23] Binary, Fill Holes สร้างเส้นขอบขนาด 1 พิกเซล (pixel) จากวัตถุบนภาพขาวดำ

Fill Holes

เป็นคำสั่งที่ให้ผลลัพธ์ตรงกันข้ามกับคำสั่ง Outline โดยจะทำการเติมพื้นหลังให้กับเส้นขอบที่เป็นรูปปิด ไม่มีช่องขาด


ตัวอย่าง



การเลือกเมนู



ผลลัพธ์






เมนู Process with ImageJ [ตอนที่ 22] Binary, Outline สร้างเส้นขอบขอนาด 1 พิกเซล (pixel) จากวัตถุบนภาพขาวดำ

Outline


การสร้างเส้นขอบรอบวัตถุบนภาพขาวดำ สามารถนำไปใช้สำหรับการวิเคราะห์โครงสร้าง หรือโครงร่างของภาพขาวดำได้

ตัวอย่าง

ตัวอย่าง 1

ตัวอย่าง 2


การเลือกเมนู

การเลือกเมนู Outline


ผลลัพธ์

ผลลัพธ์ 1

ผลลัพธ์ 2

เมนู Process with ImageJ [ตอนที่ 21] Binary, Close- การเชื่อมเส้นที่อยู่ใกล้เคียงกันของภาพขาวดำ

Close- 


เป็นคำสั่งที่ใช้ในการปิดรอยขาดของเส้นของภาพขาวดำ ให้เป็นรูปปิด หรือ เชื่อมเส้นเข้าหากัน เพื่อให้ภาพมีความสมบูรณ์ทางด้านรูปร่างมากยิ่งขึ้น


ตัวอย่าง



การเลือกเมนู



ผลลัพธ์


เมนู Process with ImageJ [ตอนที่ 20] Binary, Open การแยกวัตถุขาวดำที่เชื่อมต่อกัน ออกจากกัน

Binary with Open operator

เป็นขั้นตอนการแยกวัตถุของภาพขาวดำออกจากกัน เช่น วัตถุที่มีการเชื่อมต่อกันที่ไม่ด้วยส่วนเชื่อมต่อที่ไม่หนามาก หมายถึงว่าวัตถุเกาะกลุ่มกันด้วยเส้นเชื่อมที่ไม่หนามาก สามารถแยกวัตถุออกจากกันบนภาพขาวดำ ด้วยเมนู Open ซึ่งจะเป็นวิธีการลบพิกเซลที่เกาะกลุ่มกันไม่หนามาก ออกจากกัน ตามด้วยขั้นตอนของ Dilate เพื่อเพิ่มความสบูรณ์ให้ขอบมีความกลมกลืนมากขึ้น

ตัวอย่าง

ภาพที่ต้องการแยกจุดสีดำออกจากกัน


การเลือกเมนู


ผลลัพธ์การใช้เมนู Open


เมนู Process with ImageJ [ตอนที่ 19] Binary, Dilate การเพิ่มจุดให้ขอบของวัตถุ

 Dilate


เป็นวิธีการเพิ่มจุดให้กับของภาพแบบขาวดำ เพื่อทำให้ขอบมีความสมบูรณ์มากยิ่งขึ้น

ตัวอย่าง


ภาพต้นแบบที่ต้องการเพิ่มขนาดของเส้นขอบ
การเลือกเมนูเพิ่มขนาดของเส้นขอบ

ตัวอย่างการเลือกเมนู Dilate
ผลลัพธ์การเพิ่มขนาดเส้นขอบ

ผลลัพธ์การเพิ่มขนาดเส้นขอบ

วันศุกร์ที่ 6 มกราคม พ.ศ. 2560

เมนู Process with ImageJ [ตอนที่ 18] Binary, Erode การลบจุดรบกวน และปรับขอบภาพให้เรียบ

Erode

ใช้สำหรับการลบ Pixels ส่วนเกินจากขอบของวัตถุที่เป็นภาพขาวดำ สำหรับภาพที่เป็นภาพระดับเทาสามารถใช้เมนู Filters->Minimum สำหรับการลบขอบส่วนเกิน จะมีความเหมาะสมกับภาพที่ไม่มีค่าขีดแบ่ง thresholded


ตัวอย่าง

จากภาพขาวดำด้านล่าง เป็นภาพที่บริเวณขอบมี จุดรบกวนที่ไม่ต้องการ หากต้องการลบจุดเหล่านี้สามารถลบด้วยเมนู Erode ได้




การเลือกเมนู



ผลลัพธ์ที่ได้จากการเลือก


จากการลบครั้งแรกยังจะมีจุดรบกวนบางส่วนที่ยังไม่ถูกลบออกไป สามารถเรียกใช้ซ้ำเมนูเดิมเพื่อลบจุดรบกวนเหล่านี้ได้เรื่อง ดังตัวอย่างภาพด้านล่างถูกการลบจุดออกหลายรอบจนได้ภาพผลลัพธ์ตามนี้



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