25
1 โครงงาน เรื่อง ระบบจําลองการคัดแยกขนาดวัตถุ จัดทําโดย นาย เวสารัช เกล็ดจีน รหัส 50523206021-8 นาย ศราวุธ กันทะวงศ รหัส 50523206023-4 นาย ศุภรักษ สมศรี รหัส 50523206025-9 ปริญญาตรี ชั้นปที่ 3 คณะ วิศวกรรมศาสตร สาขาวิชา วิศวกรรมคอมพิวเตอร เอกสารประกอบโครงงานนี้เปนสวนหนึ่งของการศึกษา วิชา Digital Signal Processing (04740401) คณะวิศวกรรมศาสตร สาขาวิศวกรรมคอมพิวเตอร มหาวิทยาลัยเทคโนโลยีราชมงคลลานนา เขตพื้นที่ภาคพายัพ เชียงใหม ประจําภาคเรียนที่ 2 ปการศึกษา 2552

รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

Embed Size (px)

DESCRIPTION

รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่) know2pro.com

Citation preview

Page 1: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

1

โครงงาน

เร่ือง ระบบจําลองการคัดแยกขนาดวัตถุ

จัดทําโดย นาย เวสารัช เกล็ดจีน รหัส 50523206021-8

นาย ศราวุธ กันทะวงศ รหัส 50523206023-4 นาย ศุภรักษ สมศรี รหัส 50523206025-9

ปริญญาตรี ชั้นปท่ี 3 คณะ วิศวกรรมศาสตร สาขาวิชา วิศวกรรมคอมพิวเตอร

เอกสารประกอบโครงงานน้ีเปนสวนหน่ึงของการศึกษา วิชา Digital Signal Processing (04740401)

คณะวิศวกรรมศาสตร สาขาวิศวกรรมคอมพิวเตอร มหาวิทยาลัยเทคโนโลยีราชมงคลลานนา เขตพื้นท่ีภาคพายัพ เชียงใหม

ประจําภาคเรียนท่ี 2 ปการศกึษา 2552

Page 2: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

2

คํานํา ปจจุบันการคัดแยกดานคุณภาพของวัตถุในโรงงานอุตสาหกรรมสวนมากตองใช

แรงงานคน ซึ่งอาจทําใหเกิดความลาชาและทําใหตนทุนการผลิตสูง การคัดแยกเชิงคุณภาพที่กลาวถึง อาทิเชน รอยตําหนิ สี น้ําหนัก ขนาด ซึ่งถาเราสามารถสรางเคร่ืองมือที่ใชคัดแยกวัตถุที่ทํางานไดเหมือนกับการใชแรงงานคนก็จะทําใหลดตนทุนการผลิตลงและมีความถูกตองรวดเร็วยิ่งข้ึน โครงการนี้เปนการพัฒนาระบบการคัดแยกไขไกโดยเทคนิคการประมวลผลภาพ ซึ่งในโครงการนี้จะทําเปนระบบตนแบบเพื่อจําลองการทํางาน โดยมีการทํางานคือ ถายภาพไขไกจากนั้นนําภาพที่ไดไปประมวลผล ซึ่งผลที่ไดคือขนาดของไขไก ที่แสดงออกทางจอภาพ โดยใชโปรแกรม Matlab ทํางานรวมกับกลอง WebCam โดยการนําภาพมาวิเคราะหหาจํานวนพิกเซลของภาพไข แลวแสดงผลออกมาเปนตัวอักษร ซึ่งสามารถนําไปพัฒนาตอยอดเปนระบบคดัแยกที่สามารถใชงานไดจริงๆในโรงงานอุตสาหกรรมตอไป

Page 3: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

3

สารบัญ คํานํา ก สารบัญ ข บทที่ 1 บทนํา 1 1.1 ความเปนมาของปญหาและแนวทางการแกไข 1 1.2 สรุปสาระสําคัญจากเอกสารที่เกี่ยวของ 1 1.3 วัตถุประสงค 2 1.4 ประโยชนที่คาดวาจะไดรับ 2 1.5 ขอบเขตของโครงงาน 2 1.6 ระยะเวลาข้ันตอนและวิธีการดําเนินงาน 3 บทที่ 2 ทฤษฎีที่เกี่ยวของ 4 2.1 ความรูพื้นฐานดานการประมวลผลภาพดิจิตอล 4 2.2 ระบบสี RGB 5 2.3 ระบบสี Grayscale 5 2.4 การแปลงระบบสี RGB เปนระบบสี Grayscale 6 2.5 วิธีการ Threshold 6 2.6 จุด Centroid 7 บทที่ 3 วิธีการดําเนินงาน 11 3.1 หลักการและข้ันตอนการทํางาน 11 3.2 การพัฒนาโปรแกรม 12 บทที่ 4 การทดสอบโครงงาน 14 4.1 การทํางานของโปรแกรม 14 บทที่ 5 บทสรุปและขอเสนอแนะ 17 5.1 วัตถุประสงค 17 5.2 ประโยชนที่คาดวาจะไดรับ 17 5.3 ขอบเขตของโครงงาน 17 5.4 สรุปผลการทดสอบ 17 5.5 ปญหาที่พบในการดําเนินงาน 18 5.6 ขอเสนอแนะ 19 ภาคผนวก 20

Page 4: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

4

ภาคผนวก ก ตัวอยางโปรแกรมคัดแยกขนาดวัตถ ุ 20 เอกสารอางอิง ง

Page 5: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

5

บทท่ี 1 บทนํา

1.1 ความเปนมาของปญหาและแนวทางการแกไข ปจจุบันการคัดแยกดานคุณภาพของวัตถุในโรงงานอุตสาหกรรมสวนมากตองใชแรงงานคน ซึ่งอาจทําใหเกิดความลาชาและทําใหตนทุนการผลิตสูง การคัดแยกเชิงคุณภาพที่กลาวถึง อาทิเชน รอยตําหนิ สี น้ําหนัก ขนาด ซึ่งถาเราสามารถสรางเคร่ืองมือที่ใชคัดแยกวัตถุที่ทํางานไดเหมือนกับการใชแรงงานคนก็จะทําใหลดตนทุนการผลิตลงและมีควงามถูกตองรวดเร็วยิ่งข้ึน โครงการนี้เปนการพัฒนาระบบการคัดแยกไขไกโดยเทคนิคการประมวลผลภาพ ซึ่งในโครงการนี้จะทําเปนระบบตนแบบเพื่อจําลองการทํางาน โดยมีการทํางานคือ ถายภาพไขไกจากนั้นนําภาพที่ไดไปประมวลผล ซึ่งผลที่ไดคือขนาดของไขไก ที่แสดงออกทางจอภาพ โดยใชโปรแกรมทํางานรวมกับกลอง WebCam ซึ่งสามารถนําไปพัฒนาตอยอดเปนระบบคัดแยกที่สามารถใชงานไดจริงๆในโรงงานอุตสาหกรรมตอไป 1.2 สรุปสาระสําคัญจากเอกสารท่ีเกี่ยวของ

จากที่คณะผูจัดทําไดศึกษาและไดเก็บรวบรวมขอมูลมา สามารถอธิบายทฤษฏีที่เกี่ยวของกับโครงการที่ไดนํามาเสนออยางพอสังเขปดังนี ้ โปรแกรมซึ่งเขียนจากโปรแกรม Matlab จะทําการติดตอกับกลองเว็บแคม เพื่อทําการบันทึกรูปภาพ(Snapshot) เอาไว 1 ภาพ และนําภาพนั้นซึ่งเปนภาพสีมาทําการแปลงเปนภาพ GrayScale ตอมาจึงนํามาภาพ GrayScale มาแปลงเปน Black&White หรือภาพขาวดํา เม่ือไดภาพขาวดําซึ่งมีความแตกตางของสีเพียง 2 ระดับแลวจึงทําการคํานวณหาขนาด Pixel ของรูปภาพใบบริเวณที่เปนสีขาว ซึ่งในโครงการนี้ก็คือรูปทรงของไขนัน่เอง และสุดทายจะแสดงผลลัพธออกมาวาไขฟองนั้นเปนเบอรใด 1.3 วัตถุประสงค

1. เพื่อสรางระบบจําลองการคัดแยกขนาดของวัตถ ุ2. เพื่อศึกษาการเขียนโปรแกรมในการประมวลผลภาพดวย Matlab 3. เพื่อนําความรูที่ไดเรียนทางดาน Image Processing มาประยุกตใชงานในการสราง

ผลงาน 4. เพื่อเปนตนแบบสําหรับการพัฒนาระบบคัดแยกขนาดวัตถุดวยภาพ

Page 6: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

6

1.4 ประโยชนท่ีคาดวาจะไดรับ 1. สามารถประยุกตใชงานกลองเว็บแคมรวมกับกระบวนการประมวลผลภาพได 2. ไดเกิดทักษะในการทํางานและสรางประสบการณในการทํางานรวมกัน 3. ไดมีการเรียนรู และไดศึกษาการเขียนโปรแกรม Matlab 4. ไดนําความรูดานการประมวลผลภาพที่ไดเรียนมาประยุกตใชงานในการสรางผลงาน

1.5 ขอบเขตของโครงงาน

- ระบบการแยกวัตถุนี้เปนระบบตนแบบเพื่อใชในการศึกษา - ในการทดลองจะใชไขไกเปนวัตถุที่ใชในการคัดแยก - ใชกลอง WebCam ในการรับภาพวัตถ ุ

Page 7: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

7

1.6 ระยะเวลาขั้นตอนและวิธีการดําเนินงาน ระยะเวลาดําเนินงานตั้งแต เดือนมกราคม พ.ศ. 2553 ถึง เดือนมีนาคม พ.ศ. 2553

ตารางการดําเนินงาน ระยะเวลา ลําดับที ่ ข้ันตอนการดําเนินงาน มกราคม กุมภาพันธ มีนาคม

1 2 3 4 1 2 3 4 1 2 3 4 1 กําหนดหัวขอโครงงาน 2 ศึกษารายละเอียดและความเปนไปได 3 เขียนแบบเสนอโครงงาน 4 ยื่นแบบเสนอโครงงานเพื่อขออนุมัต ิ 5 จัดซื้ออุปกรณ 6 ประกอบวงจร 7 ตรวจสอบและทดลอง 9 เสนอโครงงานใหอาจารยที่ปรึกษาพจิารณา 10 จัดทําคูมือและเอกสารประกอบโครงงาน 12 สงชิ้นงานและเอกสารประกอบที่แกไขสมบูรณ

Page 8: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

8

บทท่ี 2 ทฤษฎีท่ีเกี่ยวของ

2.1 ความรูพื้นฐานดานการประมวลผลภาพดิจิตอล การประมวลผลภาพดิจิตอล จะเกี่ยวของกับการแปลงขอมูลภาพใหอยูในรูปแบบขอมูลดิจิตอล เพื่อที่จะสามารถนําเอาขอมูลนี้ไป ผานกระบวนการตางๆดวยคอมพิวเตอรได ซึ่งการทํางานของคอมพิวเตอรระบบการรับขอมูลเขาหรือสงขอมูลออกจะอยูในรูปแบบดิจิตอลเทานั้น ในการประมวลผลภาพดิจิตอล เม่ือระบบไดรับขอมูลภาพเขาไปแลวจะทําการคํานวณและสงออกมาเปนขอมูลที่ใชแทนขอมูลภาพดิจิตอลเหลานั้น การเก็บขอมูลภาพลงหนวยความทรงจําของคอมพิวเตอรสามารถทําไดโดยการจองหนวยความจําของเคร่ืองไวในรูปของตัวแปร array ดังรูปที ่1 โดยคาในแตละชองจะแสดงถึงคุณสมบัติของจุดภาพ (pixel) และตําแหนงของชอง array เปนตัวกําหนดตําแหนงของจุดภาพ

รูปท่ี 2.1 พิกัดของระบบภาพดิจิตอล

การแปลงภาพเปนภาพขาวดํามีข้ันตอนคือ แปลงภาพสีเปน Gray scale แลวแปลงภาพ Gray scale เปนภาพขาวดําอีกที การแปลงภาพ Gray scale เปนภาพขาวดํา จําเปนตองกําหนดคา Threshold เพื่อใหไดภาพขาวดําที่เหมาะสม คา Threshold มีไวสําหรับกําหนดวาคาความสวางของรูปในแตละ Pixel เม่ือแปลงเปนภาพขาวดําแลว Pixel ดังกลาวควรจะเปน สีดํา หรือสีขาว ตัวอยางเชน เรากําหนดคา Threshold ไวที่ 128 แลวอานคาความสวางใน Pixel แรกของรูปได 200 ดังนั้นเม่ือทําการแปลงเปนภาพขาวดําแลว Pixel แรกนี้จะตองเปนสีขาว เปนตน หลายคนอาจจะเขาใจผิดวาภาพ Gray scale เปนภาพขาวดํา แตความจริงแลวไมใช ภาพ Gray scale เปนภาพที่มีระดับของความสวางอยู โดยทั่วไปจะอยูที่ 0-255 ภาพ Gray scale ก็คือภาพที่มีคาสี R,G,B เทากันหมด สวนภาพขาวดํามีแค 0 กับ 1

Page 9: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

9

2.2 ระบบส ีRGB ระบบสี RGB คือระบบที่มีคาของสีแดง สีเขียว และ สีน้ําเงิน คาใดคาหนึ่งหรือหลายๆคารวมกัน โดยแตละสีจะมีคาตั้งแต 0-255 ดังรูป 2.2

รูปท่ี 2.2 ระบบสี RGB

2.3 ระบบส ีGrayscale ระบบสี Grayscale คือระบบที่มีคาของสีแดง สีเขียว และ สีน้ําเงินเทากัน ภาพจึงออกมาในโทนสีขาวดํา

รูปท่ี 2.3 ระบบสี Grayscale

Page 10: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

10

2.4 การแปลงระบบส ีRGB เปนระบบส ีGrayscale การแปลงระบบสี RGB เปนระบบสี Grayscale นั้นจะทําการคิดคํานวณคาในแตละจุดสีโดยแทนคา RGB ทั้งสามคาใหมตามสูตร

0.2989 * R + 0.5870 * G + 0.1140 * B เม่ือคาของสีแดง สีเขียวและสีน้ําเงินเทากันหมดแลวจึงไดเปนสีแบบ Grayscale 2.5 วิธีการ Threshold Threshold เปนการแปลงภาพระบบ Grayscale ดังรูปที ่4.1 ซึ่งมีคาอยูระหวาง 0-255 ใหเปนภาพที่มีคาเพียงสองระดับ (Binary Image) ดังรูปที ่4.2 โดยมีเงื่อนไขวา ถาความเขมแสงของจุดภาพใดมีคาต่ํากวาหรือเทากับคา threshold ใหจุดภาพนั้นมีคาเปน 0 หรือเปนสีดํา และจุดภาพใดที่มีคาสูงกวาคา threshold ใหจุดภาพนั้นมีคาเปน 1 หรือสีขาว Threshold เปนการทําคาของพิกเซลมีคาเพียง 2 สถานะคือขาวและดํา มีสูตรดังนี ้

โดยแสดงความสัมพันธไดดังกราฟ

รูปท่ี 2.4.1 ภาพในระบบสี Grayscale รูปท่ี 2.4.2 ภาพที่แบง threshold

Page 11: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

11

2.6 จุด Centroid Centroid คือ จุดศูนยกลางของมวลของ Region หรือวัตถุใดๆซึ่งมีการนิยามมาจาก

Centroid ในเชิงคณิตศาสตรหรือเชิงกายภาพและมีความสําคัญในการรังวัดระยะของวัตถุตอวัตถุใน Image โดยเราสามารถคํานวณที่สามารถรายละเอียดดังตอไปนี ้และแสดงในรูปที ่2.5

รูปท่ี 2.5 Centriod ของ Region ที่มีรูปรางตาง ๆ

โดยในการคํานวณ Centroid จะตองหา Moment ของ Region แลวตอมาจึงคํานวณหา Centroid ดังสมการตอไปนี ้

Area คือ จํานวนจริงของ Pixel ใน Shapeของ Region โดยทั่วไปจะพิจารณาเปน Net Area หรือ

พื้นที่สุทธ ิ

Page 12: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

12

รูปท่ี 2.6 Area ของ Region เทากับ 9 pixel

Perimeter คือ จํานวนจริงของ Pixelที่บนขอบของ Region ใดๆ

รูปท่ี 2.7 Perimeter ของ Region เทากับ 8 pixel

Major Axis คือ จุดจบสองจุด (Ending Point) ที่สามารถวาดเสนที่ยาวที่สุดใน Region อีกทั้งสามารถคํานวณระยะและมุม

Minor Axis คือ จุดจบสองจุด (Ending Point) ที่สามารถวาดเสนที่ยาวที่สุดและตองตั้งฉากกับ Major Axis

Page 13: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

13

รูปท่ี 2.8 Major Axis และ Minor Axis

Cpmpactness คือ อัตราสวนของพื้นที่ตอพื้นที่ของวงกลมที่ Perimeter เดียว

รูปท่ี 2.9 Compactness ของ Region

Bounding Box คือ ส่ีเหล่ียมที่สามารถบรรจุ Region นั้นๆได ซึ่งโดยทั่วไปจะนิยมใช ส่ีเหล่ียมที่สามารถบรรจุ Region ที่มีขนาดเล็กที่สุด ที่เรียกวา Minimal Bounding Box

Page 14: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

14

รูปท่ี 3.0 Bounding Box และ Minimal Bounding Box ของ Region

Page 15: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

15

บทท่ี 3 วิธีการดําเนินงาน

3.1 หลักการและขั้นตอนการทํางาน ในโครงการนี้ใชเทคนิคการประมวลผลภาพ โดยการเขียนโปรแกรมเพื่อทําการแยกภาพ

วัตถุกับพืน้หลัง จากนั้นนับจํานวนพิกเซล(Pixel) ซึ่งไขแตละขนาดจะมีจํานวนพิกเซลตางกันทําใหสามารถแยกขนาดของไขได

รูปท่ี 3.1 โครงสรางโดยรวมของระบบ

จากรูปที่ 3 สวนที่มีการประมวลผลที่คอมพิวเตอรจะมีการทํางานดังนี้ คือ รับภาพจาก

กลองเขามาแลวแปลงภาพใหเปนภาพเกสเกล (Grayscale) จากนั้นนําภาพเกสเกลมาเปล่ียนใหเปนภาพขาวดําแบบไบนาร่ี (Binary Image) แลวนับจํานวนพิกเซลของสวนที่เปนวัตถุดังรูป

รูปท่ี 3.2 แนวคิดในการประมวลผลภาพ

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

Page 16: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

16

3.2 การพัฒนาโปรแกรม ในการสรางโปรแกรมเพื่อคัดแยกขนาดของไขในโครงการนี้ ไดใชโปรแกรม MatLab เปนโปรแกรมในการเขียนสคริปต M-File ซึ่งโคดของโปรแกรมที่ใชงานจริง สามารถอธิบายไดดังนี ้แสดงรายละเอียดของกลองเว็บแคม imaqhwinfo ติดตอกับกลองเว็บแคมดวยช่ือ winvideo vid=videoinput('winvideo'); นําคาท่ีไดจากการติดตอมาแสดงเปนรายละเอียด เชน ขนาดภาพ get(vid,'Source') ทําการบันทึกรูปภาพ (SnapShot) frame = getsnapshot(vid); สรางหนาตางใหมใหมีขนาดชองภายในเปน 2*2 และทําการแสดงภาพท่ี snapshot ไว subplot(2,2,1), imshow(frame), title('Egg from webcam (RGB)'); ลบคาในการเช่ือมตอกับกลองเว็บแคม delete(vid); แปลงภาพท่ีบันทึกไวแลวใหกลายเปน GrayScale I = rgb2gray(frame); [X, map] = gray2ind(I, 4); แสดงภาพ GrayScale subplot(2,2,2), imshow(X, map), title('Egg (GrayScale)'); แปลงภาพ GrayScale ใหเปน Black&White BW = im2bw(X,map,0.3); นับจํานวนวัตถุในภาพ [L Ne]=bwlabel(double(BW)); คํานวณพื้นท่ีและจุดเซนทรอยดของรูป prop=regionprops(L,'Area','Centroid'); total=0; แสดงภาพ Black&White figure(11) imshow(BW);hold on

Page 17: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

17

ทําการวนรอบเพื่อตรวจสอบพื้นท่ี Pixel ของรูปวามีเทาใด แลวนําไปเปรียบเทียบกับจํานวน Pixel ท่ีตั้งไว เสร็จแลวใหแสดงผลออกมาท่ีหนาจอ for n=1:size(prop,1) %For 1 to Total number of egg cent=prop(n).Centroid; X=cent(1);Y=cent(2); if prop(n).Area>78000 text(X-10,Y,'Egg Size 0') elseif prop(n).Area>67000 && prop(n).Area<69000 text(X-10,Y,'Egg Size 1') elseif prop(n).Area>63000 && prop(n).Area<65500 text(X-10,Y,'Egg Size 2') elseif prop(n).Area>60500 && prop(n).Area<62000 text(X-10,Y,'Egg Size 3') elseif prop(n).Area>56000 && prop(n).Area<58000 text(X-10,Y,'Egg Size 4') end end hold on title(['Total of Area: ',num2str(prop(1).Area),' pixel']) prop(n).Area คือ คาชวงของพิกเซลของไขไกแตละขนาด โดยหาไดจากการนําไขไกที่มีขนาดมาตรฐานทุกขนาดมาทําการนับคาพิกเซลวามีคาอยุในชวงใด ซึ่งจากการทดลอง(ทําการทดลองเพียง 4 ขนาด) ไดผลการนับคาพิกเซลของไขดังตาราง ทําการวัดที่ระยะความสูง 14 cm

ขนาดไขไก(เบอร) คาชวงพิกเซล

0 มากกวา 78000 ข้ึนไป 1 67000 - 75000 3 63000 - 67000 3 60500 - 63000 4 56000 - 60000

Page 18: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

18

บทท่ี 4 การทดสอบโครงงาน

4.1 การทํางานของโปรแกรม ในหัวขอนีจ้ะเปนการแสดงผลการทํางานตางๆของโปรแกรม โดยจะเรียงข้ันตอนไปทีละข้ันเพื่อใหผูอานเขาใจงาย ข้ันตอนการทํางานของโปรแกรมมีดังตอไปนี ้1. เปดโปรแกรม Mathlab และเปดไฟลสคริปต M-File ข้ึนมา

รูปท่ี 4.1 โปรแกรมที่เขียนโดยใชโปรแกรม Matlab

2. นําไขที่ตองการตรวจสอบขนาดไปวางไวในกลอง ซึ่งจะมีจุดบอกตําแหนงในการวางที่

เหมาะสมอยู 3. การส่ังใหโปรแกรมทํางานทําไดโดยกดไปที่สัญลักษณดังภาพ

Page 19: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

19

รูปท่ี 4.2 การส่ังรันคริปต M-File

4. โปรแกรมจะแสดงภาพของไขที่นํามาวัด 3 รูปดวยกันคือ RGB, GrayScale, Black&White โดยในภาพ Black&White จะมีตัวอักษรระบุวาไขไกฟองนั้นมีขนาดเปนเบอรใด

รูปท่ี 4.3 หนาตางแสดงภาพ RGB และ GrayScale

Page 20: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

20

รูปท่ี 4.4 หนาตางแสดงภาพ Black&White โดยมีขอความแสดงขนาดของไขไก

Page 21: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

21

บทท่ี 5 บทสรุปและขอเสนอแนะ

5.1 วัตถุประสงค 1. เพื่อสรางระบบจําลองการคัดแยกขนาดของวัตถ ุ2. เพื่อศึกษาการเขียนโปรแกรมในการประมวลผลภาพดวย Matlab 3. เพื่อนําความรูที่ไดเรียนทางดาน Image Processing มาประยุกตใชงานในการสราง

ผลงาน 4. เพื่อเปนตนแบบสําหรับการพัฒนาระบบคัดแยกขนาดวัตถุดวยภาพ

5.2 ประโยชนท่ีคาดวาจะไดรับ 1. สามารถประยุกตใชงานกลองเว็บแคมรวมกับกระบวนการประมวลผลภาพได 2. ไดเกิดทักษะในการทํางานและสรางประสบการณในการทํางานรวมกัน 3. ไดมีการเรียนรู และไดศึกษาการเขียนโปรแกรม Matlab 4. ไดนําความรูดานการประมวลผลภาพที่ไดเรียนมาประยุกตใชงานในการสรางผลงาน

5.3 ขอบเขตของโครงงาน

1. ระบบการแยกวัตถุนี้เปนระบบตนแบบเพื่อใชในการศึกษา 2. ในการทดลองจะใชไขไกเปนวัตถุที่ใชในการคัดแยก 3. ใชกลอง WebCam ในการรับภาพวัตถ ุ

5.4 สรุปผลการทดสอบ จากการทดสอบโดยการจําลองเหตุการณ(Simulate) ไดใชโปรแกรมและอุปกรณในการทดลองจริง สามารถสรุปข้ันตอนในการทํางานของโปรแกรมไดดังนี ้

1. โปรแกรมจะทําการติดตอกลองเว็บแคมและบันทึกรูปภาพเก็บไว 1 ภาพ โดยจะใชไขไกในการทดลองคร้ังละ 1 ฟอง

2. จากนั้นโปรแกรมจะนําภาพที่บันทึกไวมาแปลงเปนภาพ GrayScale

3. นําภาพ GrayScale ที่ไดมาแปลงเปนภาพ Black & White เพื่อใหเกิดความแตกตางของระดับสีเปน 2 ระดับ(ขาว-ดํา) อยางชัดเจน

Page 22: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

22

4. ทําการวิเคราะหวามีภาพไขไก(พื้นที่สีขาว) ทั้งหมดกี่รูป ในการทดลองจริง แสงจากภายนอกมีผลกับการทดลอง เพราะจะทําใหโปรแกรมเขาใจวามีพื้นที่ที่ตองทําการคํานวณอีก

5. คํานวณหาพื้นที่และจุดเซ็นทรอยดของรูป

6. นําพื้นที่ที่คํานวณมาเปรียบเทียบกับคาชวงพิกเซลที่กําหนดไวแลว จากนั้นโปรแกรมจะแสดงภาพ Black&White โดยมีตัวอักษรกํากับวาภาพนั้นคือไขไกเบอรใด

5.5 ปญหาท่ีพบในการดําเนินงาน

จากการทําโครงการ พบปญหาในการดําเนินงานดังนี ้1. เนื่องจากโครงการนี้ใชการวิเคราะหภาพจากกลองเว็บแคมโดยตรง ทําใหเกิดปญหาใน

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

2. กลองเว็บแคมที่ใชงานในโครงการนี้ไดถูกถอด Infared Filter ออกไปทําใหการแสดงสี RGB ผิดเพี้ยนไป จากปญหาดังกลาวผูทําโครงการแกปญหาโดยใชซอฟทแวรขแงกลองปรับภาพใหเปน BW

3. การไมมีความรูความเขาใจเกี่ยวกบัการเขียนโปรแกรมดวย Matlab ทําใหการเขียนโปรแกรมสมีความลาชามาก จากปญหาดังกลาวผูทําโครงการแกปญหาโดยศึกษาและหาตัวอยางการใชงาน Matlab ใน Internet และทําการดัดแปลง แกไข โคดใหสามารภทํางานรวมกันได

5.6 ขอเสนอแนะ

ในการคัดแยกขนาดวัตถ(ุในโครงการนี้คือไขไก)ดวยโปรแกรมที่พัฒนาข้ึนมีขอจํากัดในการใชงานในหลายๆดาน ดังนี ้

Page 23: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

23

- ใชการจับภาพจากไขที่ละฟอง แลวนํามาวิเคราะหประมวลผล ทําใหใชเวลานาน - กลองเว็บแคมมีคุณภาพต่ํา ทําใหการรับภาพไมดีเทาที่ควร สงผลใหการวิเคราะหภาพผิดเพี้ยนไปดวย - ตองมีการกําหนดความสูงของกลองที่แนนอน เนื่องจากความสูงมีผลตอจํานวนพิกเซลของวัตถ ุ จากขอจํากัดตางๆ หากตองการพัฒนาโปรแกรมใหมีประสิทธิภาพมากข้ึน หรือหากตองการนําไปใชเปนเคร่ืองคัดไข ตองมีการพัฒนาโครงการนี้ในหลายๆดาน เชน

- เปล่ียนจากการวิเคราะหภาพนิ่งมาเปนการวิเคราะหภาพเคล่ือนไหว เพราะเคร่ืองคัดไขจะมีรางซึ่งมีไขไกถูกสงลําเลียงเขาเคร่ืองคัดไขตลอดเวลา

- ใชกลองที่มีความละเอียดและคุณภาพสูงข้ึน เชน จํานวนพิกเซลและขนาดของภาพ จํานวนเฟรมในการถายภาพเคล่ือนไหว เปนตน

- พัฒนาโปรแกรมใหสามารถกําหนดความสุงทีเ่หมาะสมเองได จากนั้นนําคาความสูงนี้ไปทําการปรับคาของชวงจํานวนพิกเซลของวัตถุขนาดตางๆไดโดยอัตโนมัต ิ

Page 24: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

24

ภาคผนวก ภาคผนวก ก ตัวอยางโปรแกรมคัดแยกขนาดวัตถุ

โคดตอไปน้ีเปนตัวอยางโปรแกรมคัดแยกขนาดวัตถุโดยใชรวมกับกลองเว็บแคม

imaqhwinfo vid=videoinput('winvideo'); get(vid,'Source') frame = getsnapshot(vid); subplot(1,2,1), imshow(frame), title('Egg from webcam (RGB)'); delete(vid); I = rgb2gray(frame); [X, map] = gray2ind(I, 4); subplot(1,2,2), imshow(X, map), title('Egg (GrayScale)'); BW = im2bw(X,map,0.3); %% Label and count connected components [L Ne]=bwlabel(double(BW)); %% Measure properties of image regions prop=regionprops(L,'Area','Centroid'); %% Counter total=0; %% Show image figure(11) imshow(BW);hold on for n=1:size(prop,1) %For 1 to Total number of egg cent=prop(n).Centroid; X=cent(1);Y=cent(2); if prop(n).Area>78000 text(X-10,Y,'Egg Size 0') elseif prop(n).Area>67000 && prop(n).Area<75000 text(X-10,Y,'Egg Size 1') elseif prop(n).Area>63000 && prop(n).Area<67000 text(X-10,Y,'Egg Size 2') elseif prop(n).Area>60500 && prop(n).Area<63000 text(X-10,Y,'Egg Size 3') elseif prop(n).Area>56000 && prop(n).Area<60000 text(X-10,Y,'Egg Size 4') end end disp(size(prop,1)); hold on title(['Total of Area: ',num2str(prop(1).Area),' pixel'])

Page 25: รายงานรวมเล่ม Term Project โครงงานระบบจำลองการคัดแยกขนาดวัตถุ(ไข่ไก่)

25

เอกสารอางอิง

[1] ระบบคัดแยกวัตถุแบบเวลาจริง. ภาควิชาวิศวกรรมคอมพิวเตอร สาขาวิศวกรรมศาสตร มหาวิทยาลัยขอนแกน [2] http://www.mathworks.com/access/helpdesk/help/toolbox/images. สืบคนเม่ือ 20 กุมภาพันธ 2553 [3] http://www.ecpe.nu.ac.th/panomkhawn/imagepro/download.html. สืบคนเม่ือ 20 กุมภาพันธ 2553 [4] http://www.eqbyte.com/MATLAB/eqmatproj.html. สืบคนเม่ือ 25 กุมภาพันธ 2553 [5] http://www.matpic.com/MATLAB/MATLAB_CONTEO_MONEDAS.html. สืบคนเม่ือ 25 กุมภาพันธ 2553