Upload
know2pro
View
6.597
Download
7
Embed Size (px)
DESCRIPTION
เอกสารโครงการโปรแกรมอ่านป้ายทะเบียบรถknow2pro.com
Citation preview
รายงานโครงการหมายเลข COE2006-17
โปรแกรมอานปายทะเบยนรถ
โดย
นายวชรนทร คณาธปพงษ รหส 463040548-0
นายสาธต ลสรกล รหส 463040557-9
รายงานนเปนรายงานงานโครงการของนกศกษาชนปท 4 ซงเสนอเปนสวน
หนงในหลกสตรวศวกรรมศาสตรบนฑต
ภาควชาวศวกรรมคอมพวเตอร
คณะวศวกรรมศาสตร มหาวทยาลยขอนแกน
Project Report No.COE2006-17
License Plate Recognition Application
By
Mr. Watcharin Kunathipapong I.D. 463040548-0
Mr. Satit Leesirikul I.D. 463040557-9
This is the report of fourth year project assignment submitted in partial
Fulfillment of the requirement for the Degree of Bachelor of Engineering
Department of Computer Engineering
Faculty of Engineering Khon Kaen University
เรอง
โปรแกรมอานปายทะเบยนรถ
โดย นายวชรนทร คณาธปพงษ รหส 463040548-0
นายสาธต ลสรกล รหส 463040557-9
อาจารยทปรกษาโครงการ
.........................................
(อ.ดร. ชชชย คณบว)
อาจารยผรวมประเมนโครงการ
1. .................................................
(ผศ.ดร. กานดา รณนะพงศา)
2. .................................................
(อ.ดร. นวภค เอออนนต)
ประเมนผล ณ วนท12 กมภาพนธ 2550
ก
กตตกรรมประกาศ
กตตกรรมประกาศนจดทาขนเพอแสดงการขอบคณตอ อ.ดร.นวภค เอออนนต ทชวยสนบสนนใน
การใหยมอปกรณ(กลอง Webcam Logitech) เพอใชในการถายภาพปายทะเบยนรถ ใหคาปรกษาในเรอง
การใชงานโปรแกรม Matlab เพอใหใชโปรแกรมไดอยางถกตอง และมประสทธภาพมากยงขน และ ชวยใน
สวนของการสรางระบบ Neural Network ใหเปนไปอยางถกตอง ขอบคณ อ.ดร.ชชชย คณบว ทชวยคนหา
ขอมลทเกยวของกบการพฒนาโครงการน และชวยกระตนใหผพฒนา พฒนาโครงการนจนเสรจสมบรณ
ข
บทคดยอ
การอานปายทะเบยนรถ คอเทคโนโลยการประมวลผลรปภาพ ซงใชในการระบยานพาหนะโดย
ระบทปายทะเบยนโครงการใชภาษา C++ และ โปรแกรม Matlab ในการพฒนา ขนแรกจะใชเทคนคท
เหมาะสมคอการทาใหภาพถายของปายทะเบยนรถดขนและงายเพองายตอการนาภาพไปเขาสสวนของ
Neural Network เพอดงตวเลขของปายทะเบยนรถออกมาแปลเปน text file ซงโปรแกรมสามารถทจะระบ
หมายเลขทะเบยนรถไดอยางถกตองมากกวา 50 เปอรเซนต
ค
Abstract
License Plate Recognition (LPR) is an image-processing technology used to identify vehicles
by their license plates. These projects implement the LPR system by using C++ language and
Matlab7. It first uses a series of image manipulation techniques to detect, normalize and
enhance the image of the license plate, then use neural network to extract the number of the
license plate. The performance of the system shows that it is able to identify vehicle more than
50 percents.
ง
สารบญ
กตตกรรมประกาศ ก
บทคทยอ ข
Abstract ค
สารบญ ง
สารบญรปภาพ ฉ
สารบญตาราง ซ
บทท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.1.1 Digital Image Processing 4
2.1.2 Neural Network 9
2.1.3 ความรเกยวกบ DirectShow 11
2.2 งานวจยพนฐานทเกยวของ 12
บทท3 การดาเนนงาน 20
3.1 สวนของ Digital Image Processing 20
3.2 สวนรจาปายทะเบยนรถ 27
3.3 โปรแกรมถายภาพทะเบยนรถ 28
บทท4 การออกแบบละพฒนาโปรแกรม 29
4.1 การออกแบบและพฒนาโปรแกรม 29
4.2 หลกการทางานของโปรแกรม 31
บทท5 ผลการดาเนนงาน 32
จ
บทท6 สรปผลและขอเสนอแนะ 35
6.1 บทสรป 35
6.2 ปญหาทพบในการดาเนนการ 35
6.3 ขอเสนอแนะ 35
ภาคผนวก 36
บรรณานกรม 39
ฉ
สารบญรปภาพ
รปท 2.1 ตวอยางการทาการขยายภาพ (Dilation) 4
รปท 2.2 การทาการยอภาพ (Erosion) 5
รปท 2.3 การทา Opening 6
รปท 2.4 การทา Closing 6
รปท 2.5(a) Model of an Ideal digital image 8
รปท 2.5(b) Model of a ramp edge 8
รปท 2.6(a) Two regions separated by a vertical edge 9
รปท 2.6(b) Detail near the edge 9
รปท 2.7 โครงสรางของ Feed-forward network 10
รปท 2.8 แสดงรปแบบ Back-propagation neural network 11
รปท 2.9 รปสเหลยมทเปนสวนของปายทะเบยนรถ 13
รปท 2.10 รปแสดงสวนปานทะเบยนทตดออกมา 13
รปท 2.11 การกาหนดพนทตวอกษร(1) 14
รปท 2.12 การกาหนดพนทตวอกษร(2) 14
รปท 2.13 ขนตอนการเลอกตวอกษร 14
รปท 2.14 ปายทะเบยนแบบเกา 15
รปท 2.15 ปายทะเบยนแบบใหม 15
รปท 2.16 ตวอยางตวเลขของปายทะเบยนแบบเกา ตวอยางตวเลขของปายทะเบยนแบบใหม 15
รปท 2.17 การทา Histogram ในแนวแกน x 16
รปท 2.18 การทา Histogram ในแนวแกน y 16
รปท 2.19 การเลอกแบบตวอกษรใหตรงกบแบบของตวอกษรทนามาอาน 16
รปท 2.20 การตดเมอมนอตหรอภาพแปลกปลอมสดาเขามาตดกบตวอกษร 17
รปท 2.21 ขนตอนการวเคราะหปายทะเบยนรถ 18
รปท 3.1 ภาพทะเบยนรถตงตน 20
รปท 3.2 ภาพปายทะเบยนแบบ Gray Scale 20
รปท 3.3 ภาพ Gray scale ของปายทะเบยนรถทตดขอบ 20
รปท 3.4 ผลลพธการทา Vertical edge detection ของรปปายทะเบยนรถ 21
ช
รปท 3.5 ผลลพธของDilationและOpening 21
รปท 3.6 ผลการคณรปท 3.3 กบรปท 3.5 22
รปท 3.7 ภาพขาวดาของปายทะเบยนรถ 23
รปท 3.8 ภาพทตดขอบบนกบขอบลาง 24
รปท 3.9 ภาพทตดขอบซายกบขวาออกจากรปท 3.8 25
รปท 3.10 ผลลพธการตดตวอกษร 27
รปท 4.1โปรแกรมจบภาพปายทะเบยนรถ 29
รปท 4.2 โปรแกรมอานปายทะเบยนรถ 30
รปท 4.3 ขนตอนการทางานของโปรแกรม 31
รปท 5.1 โปรแกรมถายภาพ 32
รปท 5.2 โปรแกรมอานปายทะเบยนรถ 33
รปท 7.1 การรนโปรแกรมอานปายทะเบยนรถ 38
ซ
สารบญตาราง ตารางท 1.1 ตารางแสดงขนตอนการดาเนนการ 2
ตารางท 3.1 ตวอยางโคดในการทา Vertical edge detection 21
ตารางท 3.2 ตวอยาง โคดการคณแบบจดตอจด 22
ตารางท 3.3 ตวอยางการแปลงภาพเปนขาวดาดวยวธ Threshold 22
ตารางท 3.4 โคดแสดงการตดขอบบนและลาง ของปายทะเบยน 24
ตารางท 3.5 โคดแสดงการตดขอบซายและขวา ของปายทะเบยน 25
ตารางท 3.6 โคดตวอยางแสดงการตดตวอกษรออกจากกน 27
ตารางท 5.1 แสดงผลลพธทสามารถตดตวอกษรได เทยบกบระยะทาง 34
1
บทท 1 บทนา
1.1 ทมาของโครงการ
ในการจอดรถตามสถานทตางๆไมวาจะเปนรานอาหาร หางสรรพสนคาขนาดใหญ หรอแมแต
โรงเรยน ซงโดยปกตแลวจะมเจาหนาทคอยแจกบตรทจอดรถ และคอยคดคาจอดรถจากเวลา เขา-ออก
จากทจอดรถซงการทางานจาก พนกงานมโอกาสทจะเกดขอผดพลาดขนได อาจเนองมาจาก การขาด
ความรอบคอบ หรอวาการทางานเดมๆซาเปนระยะเวลา นานซงปญหาทเกดขนเหลานเปนการทาให
เกดผลเสยแกบรษทหางรานตางๆ
โปรแกรมการอานปายทะเบยนรถเปนโปรแกรมทพฒนาขนมาเพอทจะชวยในการอานปาย
ทะเบยนรถโดยใชแนวความคดทจะใชแรงงานจากเครองจกรแทนการใชแรงงานจากคน โดยใชวธการ
ตรวจจบภาพและ ใชโปรแกรมชวยในการวเคราะหภาพเพอใหคอมพวเตอรสามารถอานและเขาใจไดวา
ทะเบยนรถนนเปนหมายเลขใด และนอกจากน การใชเครองจกรแทนนนเปนการชวยแกปญหาการอาน
ทะเบยนรถทผดพลาด หรอขอผดพลาดทเกดจากมนษย นนเอง เพราะเครองจกรสามารถทางานไดเปน
ระยะเวลานานโดยไมเหนอยและไมตองการพกผอน และยงสามารถชวยลดคาใชจายทจะตองจาง
พนกงานทจะตองจายคาจางทกเดอนๆอกดวย นอกจากนโปรแกรมยงสามารถทางานไดรวดเรวยงขนลด
ระยะเวลาในการรอรบบตรจอดรถทาใหความวนวายลดลงไดในชวงเวลาเรงดวน
นอกจากนแลวตวโปรแกรมยงสามารถทจะพฒนาเพอใชประยกตใชกบโปรแกรม อนๆไดอกดวย
อาท เชนโปรแกรมทจะชวยตามจบรถทขบฝาไฟแดง หรอพฒนาเปนระบบรกษาความปลอดภยตาม
สถานทสาคญ หรอ งานสาคญตางๆ และยงสามารถพฒนารวมกบโปรแกรมคดเงนสาหรบเกบคาทจอด
รถยนตอกดวย โดยการถายภาพและเกบขอมลทะเบยนรถนนพรอมกบจบเวลาและคานวณออกมาเปน
คาจอดรถซงโปรแกรม ตางๆเหลานจาเปนตองใชโปรแกรมอานปายทะเบยนรถยนตทงสน และยงชวยท
จะอานวยความสะดวกตางๆแก เจาหนา พนกงาน หรอเจาของกจการตางๆ ไดหลากหลายสถานการณ
ทงนขนอยกบวตถประสงคของผนาไปใช หรอผพฒนา
1.2 วตถประสงค พฒนาโปรแกรมทสามารถวเคราะหหมายเลขทะเบยนรถจากภาพถายไดอยางถกตองเพอนาไป
ประยกตใชกบ โปรแกรมประยกต อนๆ ตามวตถประสงคของผนาไปพฒนาตอ
2
1.3 ขอบเขตของโครงการ
พฒนาโปรแกรมทสามารถอานหมายเลขทะเบยนรถยนตทเปนแบบมาตรฐานไดอยางถกตอง
(เฉพาะตวเลข ไมรวมอกษรทเปนภาษาไทย) โดยไดจากการวเคราะหจากภาพถายเพอใหไดขอมลตวเลข
นนมา และสามารถนาโปรแกรมนไปรนบนระบบปฏบตการ Window XP ได
1.4 แผนการดาเนนงาน 1. ศกษา คนควา เรอง Image processing และการเขยน C++
2. นาขอมลทไดมาใชในการออกแบบโปรแกรม
3. พฒนาโปรแกรมทไดออกแบบไว 4. ทดสอบโปรแกรมเพอหาขอผดพลาดและแกไขโปรแกรม
5. เขยนคมอการใชงานและสรปผลของโครงการ
1.5 ขนตอนการดาเนนงาน โครงการนมระยะเวลาในการจดทา รวมทงสน 9 เดอน โดยเรมตงแตเดอนมถนายน ถงเดอน
กมภาพนธ พ.ศ. 2549 ซงมขนตอนดาเนนงานแสดงดงตารางท 1.1
ตารางท 1.1 ตารางแสดงขนตอนการดาเนนการ
3
1.6 ประโยชนทคาดวาจะไดรบ 1. ไดโปรแกรมทสามารถวเคราะหหมายเลขทะเบยนรถจากภาพถายไดอยางถกตอง เพอ
นาไปใชประโยชนได
2. ไดรบความรในเรอง Image processing และการเขยน C++
4
บทท 2 ทฤษฎ และงานวจยพนฐานทเกยวของ
ในบทนจะกลาวถงทฤษพนฐาน ทใชในการทาโครงการ และงานวจยทไดไปศกษาเพอชวยใน
การทาโครงการ ซงแบงเปน 2 หวขอ คอ ทฤษฎพนฐานทเกยวของ และ งานวจยพนฐานทเกยวของ
2.1 ทฤษฎพนฐานทเกยวของ เปนการกลาวถงทฤษฎพนฐานทเกยวของกบการนาไปใชงานในการพฒนาโครงการน 2.1.1 Digital Image Processing การประมวลผลรปภาพดจตอล คอ การใชอลกอรทมของคอมพวเตอรเพอใชในการประมวลผล
รปภาพ บนรปภาพดจตอลทเกยวกบการประมวลผลภาพทเกยวกบการคานวณและการจดการสใน
ระดบ pixel หรอ model ของส มการเปลยนแปลงของสได เพอประโยชนในการไปใชในการทางาน เชน
RGB มประโยชนกบการมองเหนของมนษย ในขณะท CMYK เปนสจรงทใชในเครองคอมพวเตอร
2.1.1.1 การขยายภาพ (Dilation) และการยอภาพ (Erosion)
การขยายภาพ (Dilation) [6] เปนการขยายโครงสรางของภาพใหใหญขน โดยภาพทขยายจะ
เปนอยางไรนนขนอยกบ structuring element ทนามาใชสแกนบนรปภาพ ดงรปท 2.1
รปท 2.1 ตวอยางการทาการขยายภาพ (Dilation)
การขยายภาพเขยนแทนดวย B A ⊕ โดยมสมการเปนดงน A} A] ) B [( | {z = B A z ⊆∩⊕
โดยท A แทนดวยรปภาพทจะทาการขยายภาพ (Dilation)
B แทนดวย structuring element
5
การยอภาพ (Erosion) [6] เปนการทาทตรงขามกบการขยายภาพ (Dilation) คอเปนการยอ
โครงสรางของภาพใหเลกลง โดยภาพทยอลงจะเปนอยางไรนน ขนอยกบ structuring element ทนามา
สแกนลงบนภาพ ดงรปท 2.2
รปท 2.2 การทาการยอภาพ (Erosion)
การขยายภาพเขยนแทนดวย B A θ โดยมสมการเปนดงน A} ) B [( | {z = B A z ⊆θ
โดยท A แทนดวยรปภาพทจะทาการยอภาพ (Erosion)
B แทนดวย structuring element
2.1.1.2 Opening(เปดชองวาง) and Closing(ปดชองวาง)
การ Opening [6] เปนการทาใหผวขอบของวตถโคงมนราบเรยบ โดยการตดหรอทาลายสวนท
เปนคอคอดและสวนทโผลยนออกไป โดยมวธการทาคอ นาภาพทจะทา Opening มาทาการยอภาพ
(Erosion) กอน จากนนนาผลลพธทไดมาทาการขยายภาพ (Dilation) ดงรป 2.3
6
รปท 2.3 การทา Opening
การ Opening เขยนแทนดวย ΒΑo โดยมสมการเปนดงน Β⊕=ΒΑ B) A ( θo
การ Closing [6] กเปนการทาใหผวขอบของวตถโคงมนราบเรยบเหมอนกบ Opening แตจะทา
โดยการรวมสวนทเปนแองลก กาจดสวนทเปนรเลกๆ และเตมสวนทเปนชองวาง โดยมวธการทาคอ นา
ภาพทจะทา Closing มาทาการขยายภาพ (Dilation) กอน จากนนนาผลลพธทไดมาทาการยอภาพ
(Erosion) ดงรป 2.4
รปท 2.4 การทา Closing
การ Closing เขยนแทนดวย Β•Α โดยมสมการเปนดงน ΒΒ⊕Α=Β•Α θ)(
7
2.1.1.3 Segmentation
โดยทวไปเปนการ Analysis (วเคราะห) หรอ interpret (อธบาย, แปล) ภาพ Segmentation
เปนการแยกภาพออกเปน distinct region ซงมความสมพนธกนในรปภาพ นอกจากนยงเปนการรวม
pixels ทมคณลกษณะเหมอนกน
Segmentation จะเชอมระหวางจะเชอมระหวาง low-level image processing ทเกยวของกบ
ตวมนเอง โดยการจดการ pixel gray level หรอ แกไขขอบกพรอง หรอคณลกษณะหลกของภาพใหดขน
และ high-level image processing ทเกยวของกบการจดการและการวเคราะหของการจบกลมของ
pixels ทแสดงเฉพาะสวนทเราสนใจ เทคนคบางชนดของการ Segmentation จะเจอไดในบาง โปรแกรม
ประยกต ทเกยวของกบการ detection, recognition และ measurement of object ในภาพ กคอการ
Detecting license plate และการจดจามน
Segmentation ถอเปนหนาททยากทสดในกระบวนการทตองใชใน Image analysis ในการจะ
สาเรจกระบวนการนนขนอยกบวาจะทา Segmentation สาเรจหรอเปลา และกระบวนการ
Segmentation นนจะแบงออกไดเปน 2 ประเภทคอ
1. Similarity properties ถกใชในการรวมพกเซลใหเปนกลมเดยวกน
2. Discontinuity of pixel ถกใชในการแยกพกเซล ระหวางพกเซลทเปนของวตถทเราสนใจ ออก
จาก background
2.1.1.4 Thresholding
เปนเทคนคทถกใชหลากหลายในหลายกระบวนการใน Image processing ทแตกตางกน
ออกไป Thresholding เปนการเปลยน database ทเกบคาตางๆหลายๆคาทแตกตางกนออกไป ใหเปน
database ใหมทมคาเพยง 2 คา คอ จะใหพกเซลทมคาตากวาคา Threshold เปนคาคาหนง และ มคา
สงกวาเปนคาอกคาหนงคอ ขาวกบดา (1, 0) ทาใหภาพทผานกระบวนการนจะไดออกมาเปน Binary
Image และ Image Threshold ถอเปน Segmentation อยางหนง
2.1.1.5 Edge Detection (การตรวจหาขอบ)
เสนขอบ(Edge) [6]อาจหมายถงสงทเปนตวบอกถงขอบเขตของพนท แตนยามสาหรบเสนขอบ
ทเราตองการในทนกคอ มนจะตองใหความหมายของการเปลยนแปลงใน gray level เมอเราทาการวด
คาของเสนขอบ (edge) ดงแสดงใหดในรปท 2.5 โดย ideal edge (เสนขอบในทางอดมคต) จะม
ลกษณะดงรปท 2.5(a) Ideal Edge ตามรปแบบนมนจะเปนกลมของพกเซลทตดตอกนไปในทศทางใน
แนวตง โดยจะตงฉากกบการเปลยนแปลงของ gray level ดงรป นนคอในทางอดมคต แตในทางปฏบต
แลวรปภาพตางๆนนจะใหเสนขอบทเบลอๆ ไมชดเจนเหมอนอยางใน ideal edge ภาพพวกนจะใหเสน
8
ขอบทมรปแบบเปนแบบทางลาด (ramplike) ดงรปท 2.5 (b) เสนขอบของรปแบบนจะไมไดมขนาด 1
พกเซลตอเนองกนไปแตเสนขอบของรปแบบนจะอยบรเวณทางลาด (ramp)นน เราจะหาความหนาของ
เสนขอบไดจากความยาวของทางลาด (ทางลาดนมนเปนจดเรมและจดสนสดของการเปลยนแปลงของ
gray level) และความยาวทางลาดนหาไดจาก slope ของมน
รปท 2.5
รปท 2.5(a) Model of an Ideal digital image. รปท 2.5(b) Model of a ramp edge. The slope
of the ramp is proportional to the degree of blurring in the edge
รปท 2.6(a) จะแสดง first และ second derivatives ของ gray level profile การทา first
derivative จะไดคาคงทตรงชวงทเปนทางลาด (ตรงขอบ) และไดคาเปนศนยตรงชวงทไมไดเปนทางลาด
ในการทา second derivative จะไดคาเปนบวกตรงเสนขอบทอยบรเวณทมการเปลยนแปลงสมพนธกบ
ดานมด และมคาเปนลบตรงเสนขอบทอยบรเวณทมการเปลยนแปลงสมพนธกบดานสวาง สวนทอนๆม
คาเปนศนย ตามรปท 2.6(b)
9
รปท 2.6(a) รปท 2.6(b)
รปท 2.6(a) Two regions separated by a vertical edge. รปท 2.6(b) Detail near the
edge, showing a gray-level profile, and the first and second derivatives of the profile
จากผลทไดของ First derivative นเองเราสามารถใชในการหาขอบเขตของวตถในภาพได และ
คาบวกลบทไดจากการทา second derivative สามารถใชในการหาเสนขอบทอยบนดานมดและเสน
ขอบทอยบนดานสวางได ใน second derivative จะมคณสมบต zero-crossing ทมประโยชนอยางมาก
ในการหาจดตรงกลางจากเสนขอบทเปนแบบ thick edge
2.1.2 เครอขายใยประสาท (Neural Network)
คอโมเดลทางคณตศาสตร สาหรบประมวลผลสารสนเทศดวยการคานวณแบบคอนเนคชนนสต
(Connectionist) เพอจาลองการทางานของเครอขายประสาทในสมองมนษย ดวยวตถประสงคทจะสราง
เครองมอซงมความสามารถในการเรยนรการจดจาแบบรป (Pattern Recognition) และการอปมาน
ความร (Knowledge deduction) เชนเดยวกบความสามารถทมในสมองมนษย โดยโครงการนใช
เครอขายใยประสาท (Neural Network) [1] แบบ Feed-forward network และใชอลกอรทมทเรยกวา
Back propagation algorithm ในการเรยนรของเครอขายใยประสาท
ขายงานประสาทแบบ Feed-forward network จะมลกษณะการทางานของขอมลทนามา
ประมวลผลในวงจรขายเปนดงนคอ ขอมลนนจะถกสงไปในทสทางเดยวจาก Input node แลวสงตอไป
ยง node ทอยใน layer อนตอไปเรอยๆจนถง Output node โดยทไมมการยอนกลบของขอมล หรอ
เชอมตอขอมลกนกบ node ทอยใน layer เดยวกน ดงรปท 2.7
10
รปท 2.7 โครงสรางของ Feed-forward network
Back-propagation เปนอลกอรทมทใชในการเรยนรของเครอขายใยประสาทวธหนงทนยมใชใน
multilayer perception เพอปรบคานาหนกในเสนเชอมตอระหวางโหนดใหเหมาะสม โดยการปรบคาน
จะขนกบความแตกตางของคาเอาตพตทคานวณไดกบคาเอาตพตทตองการ โดยมขนตอนดงนคอ
1. กาหนดคาอตราเรวในการเรยนร (Rate parameter)
2. สาหรบแตละตวอยางอนพตใหทาตามขนตอนตอไปนจนกวาไดระดบ performance ท
ตองการ
- คานวณหาคาเอาตพตโดยใชคานาหนกเรมตนซงอาจไดจากการสม
- คานวณหาคา β : แทนประโยชนทจะไดรบสาหรบการเปลยนคาเอาตพตของแตละโหนด
- ในชนเอาตพต (Output Layer)
β z = d z - o z
เมอ d z = คาเอาตพตทตองการ
o z = คาเอาตพตทคานวณได
- ในชนซอน (Hidden Layer)
β j = ∑w j k o k (1 - o k) β k
เมอ w j k = นาหนกของเสนเชอมระหวางชนท j กบ k
- คานวณคานาหนกทเปลยนแปลงไปสาหรบในทกนาหนก ดวยสมการตอไปน
Δ w i j = r o i o j (1 - o j) β j
- เพมคานาหนกทเปลยนแปลง สาหรบตวอยางอนพตทงหมด และเปลยนคานาหนก
Input Output
11
ชนอนพต ชนท i ชนท j ชนท k ชนท z
อนพต เอาทพต
รปท 2.8 แสดงรปแบบ Back-propagation neural network
2.1.3 ความรเกยวกบ DirectShow
DirectX เปน Application Programming Interface (API) ของ Microsoft ทพฒนาขนเพอใช
จดเตรยม Interface สาหรบควบคมฮารดแวรมลตมเดยบนระบบปฏบตการ windows ใหเปนไปอยางม
ประสทธภาพ โดย DirectX จะม component ตางๆดงน
1. Direct3D ใชจดการเกยวกบกราฟฟก
2. DirectSound and DirectMusic ใชจดการเกยวกบเสยง
3. DirectInput ใชจดการเกยวกบพวก Input Device เชน mouse, keyboard, joystick เปนตน
4. DirecPlay ใชจดการเกนวกบการพฒนาเกมสทเลนผานเครอขาย
5. DirectShow ใชจดการเกยวกบมลตมเดย
6. DirectSetup ใชเกยวกบการ Install directX ใชแสดงผลเวอรชนของ DirectX
โดย DirectShow นนเปนหนงใน component ของ Direct X ทใชในการจดการเกยวกบ
มลตมเดย เชน ใชควบคมการเลน การหยดเลนของไฟลมลตมเดย เปนตน โดยท DirectShow นนทางาน
อยบนพนฐานของ Filter graph ซง Filter graph นจะมอย 3 ชนดดวยกน คอ
1. Source Filters ใชทาหนาทตดตอกบไฟลมลตมเดย กลองหรอเวบแคม เพอนาขอมลมาใช
2. Transform Filters ใชทาหนาทเปลยนแปลงขอมลทไดรบมาจาก Source filters ตามแตท
ผใชงานตองการ เชน เปลยนขอมลมลตมเดยจากทจะแสดงผลเปนภาพสใหเปลยนเปนขาว
ดา
3. Render Filters ใชทาหนาทแสดงผลขอมลมลตมเดยทไดรบมา
โดยผทจะพฒนาโปรแกรมทจะทางานรวมกบกลองหรอเวบแคมจะตองทาการเขยน filter
เหลานขนมาตามแตผพฒนาตองการ
12
2.2 งานวจยพนฐานทเกยวของ จากการศกษาโครงการของ นาย สพฒน สธทศน, นาย พงศธารน วนยเวคน และนาย อครชย
อรรถกล [3] สามารถสรปถงโครงงานทไดศกษา ไดบทสรปและขนตอนและวธการหลกๆดงน
1. การประมาณสวนกรอบปายทะเบยนรถ (License Plate Estimation)
2. การตดสวนตวเลขโดยละเอยด ( License Plate Segmentation )
3. การทาการรจาตวเลขจากภาพสวนตด ( Number Recognition from Segmented Image )
รายละเอยด
1. จากโครงการทไดศกษานนในสวนของการประมาณสวนกรอบปายทะเบยนรถ
จะเปนการใชวธการตรวจหาสวนของภาพทเปนรป สเหลยม สงททาในขนตอนนกคอ การ
นาภาพ Input มาทาการหา Contour โดยพจารณาในระดบ Threshold ทใชในการทา Binarization
ในระดบตางๆ จากนน เรากจะนา Contour ทกอนทไดน มาทาการประมาณมมของรปเหลยมท
ลอมรอบวาม 4 มมรเปลา โดยถาม 4 มม กแสดงวามความเปน ไปไดทจะเปนรปสเหลยม และ
นอกจากน ยงสามารถทจะพจารณาไดจากภาพโดยผานการทา Edge Detection ดวย ซงกจะทาให
เราสามารถหารปสเหลยมไดเชนกน โดยการพจารณารปเหลยมทงจาก Contour และจากการทา
Edge Detection นน เราจะทาทงใน 3 Channels ส รวมถงในสวนทเปน Gray Scale ดวย
การพจารณาคดสเหลยมทเปนทเปน License Plate คอจากขนตอนขางตนนนเราจะดรป
สเหลยมหลายรปโดยสงทเราหวงกคอ คอ นาจะมรปสเหลยมรปหนงททาหนาทคลายกรอบปาย
ทะเบยนรถ ถงแมมนจะไมได ทบกบสวนทเปนปายทะเบยนเลยกตาม ซงในสวนน เรากจะคด
สเหลยมนนโดยการใหคะแนนความนาจะเปนซงม Heuristic ดงน
- สเหลยมทจะเปนปายทะเบยนควรจะเปนสเหลยมทม Contourซงไดรบการประมาณ
วา จะเปนตวอกษรในภาพจากขนตอนทแลว
- ตวตวอกษรทอยในภาพควรจะมขนาดใกลเคยงหรอเปนอตราสวนทเหมาะสมกบ
ขนาดสเหลยม ดงนน คะแนนทจะใหจะเปนอตราสวนโดยตรงกบ พนทของ Contour ทแทนตวอกษร
หารดวย พนท ของสเหลยมอนนนๆ
โดยหลงจากทเราไดใหคะแนนสเหลยมตางๆ แลว เรากจะสามารถคดเลอกสเหลยมทคาดวา จะ
เปนปายทะเบยนไดจากสเหลยมทมคะแนนมากทสด ซงแสดงเปนรปสเหลยมสแดง ดงรป 2.9
13
รปท 2.9 รปสเหลยมทเปนสวนของปายทะเบยนรถ
หลงจากหลงจากทเราไดสวนทเปนปายทะเบยนสแดงแลวนน เรากจะทาการตด โดยการตดนน
จะ ตดใหเลยสวนทเปนสเหลยมออกมาเลกนอยดง รปท 2.10 จากนน กสงใหขนตอนท 3 เพอทาการ
Segment Character ตอไป
รปท 2.10 รปแสดงสวนปานทะเบยนทตดออกมา
2. สวนแบงขอบเขตของตวอกษรในภาพโดยละเอยด (License Plate Segmentation)
ในสวนแบงขอบเขตของตวอกษรในภาพนน จะเปนสวนทนาภาพมาจากสวนการหากรอบของ
แผนปายทะเบยน แลวมาทาการหาพนทของตวอกษรในแผนปายทะเบยนนนอยางละเอยด และนาพนท
ทไดตดเปนรปภาพของตวอกษรแตละตวแลวสงไปทาการรจาตวเลข (Number Recognition) เพอแปลง
เปนตวเลขทสามารถจดเกบในรปแบบ String
ในสวนแบงขอบเขตของตวอกษรในภาพ จะแบงการทางานออกเปน 3 ขนตอนดวยกน ซง
ประกอบดวย
a. ขนตอนการหาพนทจะมขนาดเหมาะสมทจะเปนตวอกษร การกาหนดพนททจะนาจะ
เปนตวอกษรของทะเบยนในขนตอนนนจะทาการหาพนททตดกน ทม ขนาดความสงมากกวาความกวาง
และขนาดของความกวางและความสงนนตองไมตากวาคาทกาหนด ซงในทนจะกาหนดไวใหไมตากวา 2
เปอรเซนตของภาพ ซงในขนตอนนจะชวยกาจดพนทไมเกยวของ ออกไปไดพอสมควร ดงรปท 2.11
14
รปท2.11 การกาหนดพนทตวอกษร
b. ขนตอนการระบพนทตวอกษรทงหมดเปนทะเบยนรถ ในขนตอนนจะพนทหลายๆพนท
จากขนตอนแรกมาทาการหาตวอกษร โดยมวธการคอนาพนททไดมาแตละพนทนามาหาจดตาสดตาม
แกน y นามาเปรยบเทยบกน ซงจะบอกถงพนทมระนาบ ในแนวเดยวกน โดยในทนจะเปนตวอกษรของ
แผนปายทะเบยน แลวนาเฉพาะพนททมความสงใกลเคยง กนและมจานวน 3 ถง 6 พนท ซงคอทะเบยน
ของรถทจะม 3 ถง 6 อยแลว (เชน กข 1 หรอ คง 1234) ดงรปท 2.12
รปท 2.12 การกาหนดพนทตวอกษร
c. ขนตอนการเลอกตวอกษรทเปนตวเลขของทะเบยนรถ ในขนตอนนจะนาพนทจากขนตอนท
แลวมาซงมจานวน 3 ถง 6 พนท มาทาการหาพนททเปน เฉพาะตวเลข โดยการจะใชวธการหาพนททอย
ตาแหนงหลงสดมาหาหนาสด 4 พนท ( ตาแหนงตามแกน x มากทสด มาหานอยทสด ) ซงในทะเบยน
นน จะมตวเลขไมเกน 4 ตว แตอาจมนอยกวาได ทาใหเมอหาพนททอยจากหลงมาหนานน เมอเจอ
ชองวาง จะทาการหยดการหา เพราะอาจสมมต ไดวามตวเลขนอยกวา 4 ตว ซงในทนกาหนดวาจะเกด
ชองวาง เมอเจอตวอกษรทหางกนเกน 2 เทา ของความกวางเฉลยของแตละตวอกษร ดงรปท 2.13
รปท 2.13 ขนตอนการเลอกตวอกษร
15
จากการทางานของทง 3 ขนตอน จะได Sequence ของพนทออกมานนแตละตวเลข จากนนทา
การตวพนทของแตละตวเลขเพอนาไปทาการรจาเลขออกมา
3. การทาการรจาตวเลขจากภาพสวนตด (Number Recognition from Segmented Image)
ในสวนของการระบตวเลขทะเบยนรถน คอการสามารรถระบหมายเลขทะเบยนรถไดอยาง
ถกตองมากทสด โดยในโครงงานนจะสามารถระบตวเลขทะเบยนทอยในปายทะเบยนได ( ไมรวม
ตวอกษรทอยในปายทะทะเบยน ) โดยหลงจากขนตอนกอนหนานทสามารถตกรอบตวเลขแตละตวได
แลว จะสงภาพของตวเลขเหลานมายงขนตอนน เพอจะระบวาเปนหมายเลขใด
ประเภทของปายทะเบยนและรปแบบตวอกษร ปายทะเบยนรถยนตสวนบคคลในประเทศไทยท
มอยในปจจบนนนม 2 ประเภท คอ ปายทะเบยนแบบเกา (สงเกตไดจากจะมตวเลขนาหนาหนงตว แลว
ตามดวยตวอกษรภาษาไทย 1 ตว) ดง รปท 2.14 และปายทะเบยนแบบใหม (จะนาหนาดวยตวอกษร
ภาษาไทย 2 ตว) ดงรปท 2.15 โดยทง 2 แบบนจะมความแตกตางในรปแบบของตวอกษร (font) ดงนน
ในโครงงานนจะใชฐานขอมลเปนตวอกษร 2 ชดทมรปแบบทง 2 แบบดงทกลาวมา
รปท 2.14 ปายทะเบยนแบบเกา
รปท 2.15 ปายทะเบยนแบบใหม
รปท 2.16 ตวอยางตวเลขของปายทะเบยนแบบเกา ตวอยางตวเลขของปายทะเบยนแบบใหม
16
กลวธในการจาแนกตวเลข
ในสวนนใชหลกการสาคญ 2 หลกการ ไดแก
1. โดยหลกการแรกใชวธคลายกบในงานวจย A Real Time Vehicle's License Plate
Recognition System ทจะดแทนตวอกษรดวย histogram โดยแยกเปนแกน x และแกน y และนา
histogram ทไดม map กบรปปายทะเบยนทมอยเพอหาคาความแตกตางโดยใหเปนคะแนนดงจะ
กลาวถงตอไป และหาคา เฉลยเพอนาประมวลวานาเปนตวเลขตวใด
รปท 2.17 การทา Histogram ในแนวแกน x
รปท 2.18 การทา Histogram ในแนวแกน y
โดยมขอดคอ ถาจานวน Pixel สดามคาใกลเคยงกน นนคอมความแตกตางในคอลมน หรอแถว
นนนอย ๆ คาของคะแนนจะเพมขนเรวมากแมจะคดจากกรณเดยว และมากกวาการไดคากลาง
โดยความคดนมความคดเนองจากมความเชอวาตวอกษรหนง ๆ จะมความถกตองมาก เปน
พเศษถาแบบของตวอกษรทใชทดสอบตรงกบแบบของตวอกษรทนาอานมาได และเปนตวเลขเดยวกน
และจะทาการถวงนาหนกและบวกคะแนนทไดจากกาเปรยบเทยบภาพกบภาพในฐานขอมลรวมกน
รปท 2.19 การเลอกแบบตวอกษรใหตรงกบแบบของตวอกษรทนามาอาน
17
2. การตดขอบเพอลดสงรบกวนตาง ๆ ในปายทะเบยนรถจะเหนวามนอตทเปนตวทจะขดขวาง
การอานคาตวเลข นอกจากนน ยงอาจมสงปนเปอนตางๆ ทตดอยทปายทะเบยนอกดวย ดงนนเราจะทา
การตดพนททไมนาจะ ใชตวเลขออกเพอใหไดบรเวณทเปนตวเลขอยางแทจรง (แมจะตองตดตวเลขออก
บางสวน แตในการตดตวเลขหนง ๆ จะตดไดทบรเวณเดมเสมอ)
รปท 2.20 การตดเมอมนอตหรอภาพแปลกปลอมสดาเขามาตดกบตวอกษร
โดยจะทาการตดโดยใชกลวธการหาบรเวณสดา 2 บรเวณทไมตดกน และ ทาการตด และ
resize ใหมขนาดทตองการ
จากการศกษาโครงงานขางตนนเปนการตรวจสอบหาปายทะเบยนรถโดยท รปถายภาพ
ทะเบยนรถนนจะตองเปนรปถายในดานตรงเพราะวาในขนตอนการคดเลอกทะเบยนรถออกมาจากปาย
สเหลยมนนจะเปน การหาสเหลยมทม Contour ทนาจะเปนตวอกษร และมขนาดใกลเคยงและม
อตราสวนทเหมาะสมกบภาพสเหลยมทนาจะเปนปายทะเบยนดงนน คะแนนทจะใหจะเปนอตราสวน
โดยตรงกบ พนทของ Contour ทแทนตวอกษร หารดวย พนท ของสเหลยมอนนนๆ ดงนน ภาพถาย
ทะเบยนรถทไดนนไมเปนภาพในแนวตรงจะทาใหเกดความคลาดเคลอนขนได และการวเคราะหตวเลข
นนไดมาจากการวเคราะห histogram ซงจะสามารถระบวาตวเลขแตละตวนนเปนตวเลขอะไรนน ทาได
โดยการดวา histogram ทไดนนมความสอดคลองใกลเคยงกบ histogram ของตวเลขแตละตว (0-9) ถง
กระนนวธการนยงเปนวธการทไมถกตอง 100% ยงมขอผดพลาดทเกดขนไดอย ซงความถกตองมเพยง
60% เทานน
จากการศกษาโครงการของนายกฤษฎา กลยาสรวฒนและนายฐต กนตถาวร [2] ซงมขนตอน
วธการแยกหมายเลขทะเบยนออกจากภาพดงน ขนแรกจะกาหนดภาพใหมขนาดเหลอ 540 * 720 pixel
เพราะภาพทรบเขามาจะมขนาดไมเทากนจงตองกาหนดขนาดทตายตว เพอใหตวอกษรของปาย
ทะเบยนมขนาดทเหมาะสม จากนนแปลงภาพสของภาพถายทะเบยนรถเปนภาพแบบ Gray scale (256
ส) เพราะวาหากใชภาพสจะทาใหกระบวนการแยกตวอกษรในภาพเปนไปไดยาก จากนนทาการแปลง
ภาพใหเปนแบบ Binary ดวยวธการเลอกคา Threshold (คาระดบความสวางสงกวาคา Threshold จะ
18
ถกปรบใหเปนสขาว สวนคาระดบความสวางทมคาตากวา Threshold จะถกปรบใหสดา) ซงในการเลอก
คา Threshold จะมใหเลอกไดสองวธ คอ เลอกโดยระบลงในโปรแกรมกอนการทางาน และใหโปรแกรม
คานวณคา Threshold ทเหมาะสมโดยดจากภาพทรบเขามา การภาพใหเปนแบบ Binary นทาใหภาพ
จะเหลอขอมลภาพอยสองระดบ คอ 0 กบ 1 โดยคา 0 จะเปนพนหลงของภาพ สวนคา 1 จะเปนวตถใน
ภาพ จากนนจะทาการลดสญญาณรบกวน (Noise) ทเกดขนโดยการใช Median filter แลวจงทาการหา
ตาแหนงของปายทะเบยน โดยพจารณาจากแตละวตถวามความนาจะเปนปายทะเบยนหรอไม โดย
อาศยคณสมบตทสงเกตได เชน ขนาดการเรยงตวของตวอกษรปายทะเบยนในภาพ เปนตน หลงจาก
ผานขนตอนนจะไดตาแหนงของทะเบยนรถจากนนทาการแยกเลขทะเบยนออกจากภาพ ดวยวธการ
segment เพอเขาสขนตอนการรจารปแบบดวยระบบ Neural Network ซงระบบนจะมการเกบตวอกษร
ทมการใชงานทงหมด 33 ตว และตวเลขอก 10 ตว โดยแตละตวอกษรจะมการเกบรปแบบตวอกษรนนไว
ประมาณ 20-30 ตว หลงจากผานกระบวนการ Neural Network นแลวจะ สามารถระบชนดของ
ตวอกษรและตวเลขได
รปท 2.21 ขนตอนการวเคราะหปายทะเบยนรถ
ในการทดลองของโครงการนจะใชภาพจากกลองดจตอลความละเอยด 5 ลานพกเซล ซงภาพท
ใชในการทดลองจะมทงรปดานหนาและดานหลงของรถ ทเปนแบบหนาตรงทงหมด และภาพทจะให
ผลลพธออกถกตอง ตองมขอกาหนดดงน ความสวางของแสงตองพอเหมาะ ไมมนอตอยบนทะเบยนรถ
ทะเบยนรถตองไมสกปรกมากเกนไป
จากการไดศกษาโครงการนทาใหทราบวาจากกระบวนการทกลาวมาขางตน จะไดผลรบทม
ประสทธภาพในการอานปายทะเบยนรถทสง แตประสทธภาพนจะขนอยกบ ตวอยางของตวอกษรทใส
ใหกบระบบ Neural Network ซงถาใสตวอยางของตวอกษรมากเทาไรกจะทาใหประสทธภาพของการ
อานปายทะเบยนรถสงขนไปดวย แตยงมองคประกอบอนอกทไมสามารถควบคมได ซงมผลทาใหการ
อานปายทะเบยนรถเกดความผดพลาดได เชน ความสวางของภาพมากเกนไปทาใหตวอกษรกบพนหลง
มสทคลายกน ปายทะเบยนเลอะโคลนทาใหภาพดเหมอนตวอกษรตดกน ตาแหนงของปายทะเบยนอย
สงเกนไปทาใหไมสามารถหาตาแหนงได ขอบปายทะเบยนอยตดกบตวอกษรทาใหไมสามารถแยกได
เปนตน
ขอมลภาพ
256 Gray
เปลยนเปนภาพ
แบบไบนาร
การแยกเลข
ทะเบยน
เตรยมขอมลภาพเพอใชงาน
ในการจดจารปแบบ
19
เมอนามาเปรยบเทยบกบโครงการทเราจะจดทาขนสงทเหมอนกนกคอ วธการทใชคนหา
ตาแหนงของปายทะเบยนรถ สวนทแตกตางกน คอ โครงการเราจะตองสามารถอานปายทะเบยนรถจาก
ภาพทไมใชภาพหนาตรงอยางเดยวได และจะตองอานปายทะเบยนรถจากกลองทจบภาพปายทะเบยน
รถในขณะนนแลวอานออกมาได
สรปจากทไดศกษาทงสองโครงการสงทเหมอนกนกบโครงการของเราจดหลกๆ คอจะเปนวธการ
ทใชในการคนหาปายทะเบยนรถ และสงทแตกตางกน คอ ผลลพธทไดเราคาดหวงจะใหไดผลในการอาน
ปายใหถกตอง 100 % ในภาพแบบหนา และอานแบบไมใชแบบหนาตรงไดดวย
20
บทท 3 การดาเนนงาน
ในสวนของการดาเนนงานนนจะถกแบงออกเปนทง หมด 3 สวนใหญๆ คอ สวนของ Digital
Image Processing, สวนรจาปายทะเบยนรถ และ สวนของการเขยนโปรแกรมถายภาพ
3.1 Digital Image Processing การดาเนนงานเรมตนจากการศกษาหาความรเกยวกบเรอง Digital Image Processing และ
การใชโปรแกรม Matlab เพอชวยในการสรางโคดทใชในการวเคราะหภาพและเปลยนแปลงภาพใหเปน
ภาพทงายตอการอานหมายเลขของปายทะเบยนรถโดยมขนตอนดงน
1. นาภาพของปายทะเบยนรถทจบภาพไดจากโปรแกรม ดงรปท 3.1 มาทาการแปลงใหเปน
ภาพแบบ Gray scale โดยใชคาสง colormap(gray) ซงจะไดผลลพธออกมาดงรปท 3.2
รปท 3.1 ภาพทะเบยนรถตงตน รปท 3.2 ภาพปายทะเบยนแบบ Gray Scale
2. ตดขอบทง 4 ดานของภาพออกไปบางสวนเพอลดโครงสรางตางๆทไมเกยวของออกไปไดผล
ดงรปท 3.3
รปท 3.3 ภาพ Gray scale ของปายทะเบยนรถทตดขอบ
3. ทา Vertical edge detection โดยใช sobel mask โดยตองกาหนด mask และนา mask ท
กาหนดไปใชในคาสง conv2()ดงตวอยางในตารางไดผลดงรปท3.4
21
sobelx = [-1 0 1;-2 0 2; -1 0 1];px = conv2(p,sobelx,'same'); px = abs(px);
ตารางท 3.1 ตวอยางโคดในการทา Vertical edge detection
รปท 3.4 ผลลพธการทา Vertical edge detection ของรปปายทะเบยนรถ
4. นาผลลพธทไดจากรปท 3.4 ทาการ Dilation และ Opening ดวย mask และจานวนครงท
ทาทเหมาะสม โดยเรมตนจากการกาหนด mask ซงเปน เมตรกซ โดยใชคาสง ONES(M,N)
ในการกาหนด mask แลวกนา mask ทกาหนดขนนนไปทาการ erosion แลวตามดวยการ
dilation โดยใชคาสง IMERODE()และIMDILATE() ตามลาดบทาใหไดผลลพธดงรปท 3.5
รปท 3.5 ผลลพธของ Dilation และ Opening
22
5. แลวนารปผลลพธรปท 3.5 ไปคณแบบจดตอจดกบรปท 3.3 ตามโคดตวอยางในตารางท
3.2 ไดผลลพธ ดงรปท 3.6
p4 = p.*double(px5); %ภาพ p4 เปนภาพทเกดจากการ คณกนแบบ จดตอจด ของภาพ p และ ภาพ px5 ทแปลงใหเปน %double(หมายเหต การคณกนแบบจดตอจดตองทางานท doble จงจาเปนตองแปลง คาpx5ให0เปน double กอน)
ตารางท 3.2 ตวอยาง โคดการคณแบบจดตอจด
รปท 3.6 ผลการคณรปท 3.3 กบรปท 3.5
6. นาผลทไดจากรปท 5 ซงเปนแบบ Gray scale แปลงเปนภาพขาวดาดวยวธ Threshold
ตามตวอยางในตารางท 3.3 ซงไดผลลพธดงรปท 3.7
% automatic Threashold T = 0.5; for k = 1:10 T1 = sum(sum((p4>T).*p4))/sum(sum(p4>T)); T2 = sum(sum((p4<=T).*p4))/sum(sum(p4<=T)); T = (T1+T2)/2; end p5 = p4>T*1.3;
ตารางท 3.3 ตวอยางการแปลงภาพเปนขาวดาดวยวธ Threshold
23
รปท 3.7 ภาพขาวดาของปายทะเบยนรถ
จากนนจะทาการตดใหเหลอแตสวนทเปนตวเลขทะเบยน โดยม 2 ขนตอน ดงน
• หาขอบบนกบขอบลางของตวเลขทะเบยน โดยการหาจดอางอง 2 จดทใชเปนขอบบน
กบขอบลาง จากผลรวมของพกเซลทมสขาวตามแนวแกน X ตาม โคดตวอยางในตาราง
ท 3.4 ซงจะไดผลลพธดงรปท 3.8
%หาคาขอบบนหรอขอบลางของปายทะเบยนรถ top=1; bottom=m; y1=0; y2=0; z1=0; z2=0; z_top = 0; z_bottom = 0; for i = 1:m %หาจานวนของพกเซลทมสขาวในแตงละจดในแนวนอน if sum_horizontal(i) > z1 z1=sum_horizontal(i); y1=i; %ตาแหนงทมผลรวมของพกเซลตามแนวนอนสงสดแตยงไมรวาเปนขอบบนหรอขอบลาง end %แตเราคาดวาเปนขอบของปายทะเบยนแนๆ end for i = top:(y1-18)%เรมคนหาขอบปายทะเบยน จากดานบนของภาพ ลบออก18เพราะความกวางทะเบยนมากกวา18แนนอน if sum_horizontal(i)>=z_top z_top = sum_horizontal(i); z2 = i; %z2 คอตาแหนงขอบของปายทะเบยน end end if 40<=abs(y1-z2) y2 = z2; %ถาเปนจรง y2 คอตาแหนงขอบของปายทะเบยน end %*************************** for i = (y1+18):bottom %ทาการเรมคนหาขอบปายทะเบยนโดยเรมจากดานลางของปายทะเบยน if sum_horizontal(i)>z_bottom z_bottom = sum_horizontal(i); z2 = i; end end %เพอใหแนใจวาเปนปายทะเบยนทตองการเพราะถาไมมมนอาจจะไปเอาสวนทเปนชอจงหวด if 40<=abs(y1-z2)&&z_bottom >(z_top*0.7)y2 = z2; y2 = z2; end if y1<y2
24
top_y = y1; bottom_y = y2; else top_y = y2; bottom_y = y1; end if top_y == 0 top_y = 1; end if bottom_y > m bottom_y = m; end p6 = p6(top_y:bottom_y,:) %ภาพทตดขอบบนกบขอบลางของปายทะเบยนรถแลว
ตารางท 3.4 โคดแสดงการตดขอบบนและลาง ของปายทะเบยน
รปท 3.8 ภาพทตดขอบบนกบขอบลาง
• หาขอบซายกบขอบขวาของตวเลขทะเบยน (ทากบรปท 3.7) โดยการหาจดอางอง 2 จด
ทใชเปนขอบซายกบขอบขวา จากผลรวมของพกเซลทมสขาวตามแนวแกน Y ตามโคด
ตวอยางในตารางท 3.5 ซงจะไดผลลพธดงรปท 3.9
%หาขอบซายขอบขวาของปายทะเบยนรถ [m,n] = size(p6); sum_vertical(n) = 0; for i = 1:m %หาจานวนของพกเซลทมสขาวในแตงละจดในแนวตง for j = 1:n if p6(i,j)==1 sum_vertical(j)=sum_vertical(j)+1; end end end %หาขอบซายของปายทะเบยนรถ j=1; x_left=1; x_continuous=0; check_LR=true; check_continuous=false; while check_LR if j<=n&&sum_vertical(j)>=(m-2)&& x_continuous<=30 x_left = j; check_continuous = true; x_continuous = 0; end
25
if check_continuous if x_continuous>30 check_continuous = false; check_LR = false; else x_continuous = x_continuous+1; end end j=j+1; if j>n %ปองกนวนลปไมรจบ check_LR = false; end end %หาขอบขวาของปายทะเบยนรถ j=n; x_right=n; x_continuous=0; check_LR=true; check_continuous=false; LR_compare=1; while check_LR if j>=1 && sum_vertical(j)>=(m-2) && x_continuous<=8 %&& sum_vertical(j)>=LR_compare x_right = j; %LR_compare = sum_vertical(j); check_continuous = true; x_continuous = 0; end if check_continuous if x_continuous>8 check_continuous = false; check_LR = false; else x_continuous = x_continuous+1; end end j=j-1; if j<1 %ปองกนวนลปไมรจบ check_LR = false; end end p7 = p6(:,x_left:x_right) %ภาพทตดขอบซายกบขอบขวาของปายทะเบยนแลว
ตารางท 3.5 โคดแสดงการตดขอบซายและขวา ของปายทะเบยน
รปท 3.9 ภาพทตดขอบซายกบขวาออกจากรปท 3.8
26
7. ทาการตดตวอกษรออกจากกน โดยการตรวจสอบพกเซลตามแนวตงถาพบพกเซลสดาก
แสดงวาพบดานขวาของตวเลขหรอตวอกษรจากนนตรวจสอบพกเซลตามแนวตงตอไปอก
หากพบวาพกเซลแนวตงจดใดมแตพกเซลสขาวกแสดงวาจดนนเปนจดสนสดของตวเลข
หรอตวอกษรนน แลวทาอยางนตอไปจนตดตวเลขหรอตวอกษรไดครบ ซงผลลพธไดแสดง
ดงรปท 3.10
%ตดตวอกษร [m,n] = size(p7); sumVertical(n)=0; for i = 1:m %หาผลรวมของพกเซลทมสขาวตามแนวตง ในแตละจดตามแนวนอน for j = 1:n if p7(i,j)==1 sumVertical(j)=sumVertical(j)+1; end end end k=1; left_symbol=0; right_symbol=1; symbol(24)=0; for j = 1:n if left_symbol==0 && sumVertical(j)<=(m-3) %ตรวจสอบวาเจอดานซายของตวอกษรหรอยง โดยท m-1 จะเปนการกนวาอาจม1พกเซลสดามารบกวน symbol(k)=j; right_symbol=0; left_symbol=1; if symbol(k)>0 k=k+1; end end if right_symbol==0 && sumVertical(j)>(m-3) %ตรวจสอบวาเจอดานขวาของตวอกษรหรอยง โดยท m-1 จะเปนการกนวาอาจม1พกเซลสดามารบกวน symbol(k)=j; right_symbol=1; left_symbol=0; if (symbol(k)>0&&k>1&&abs(symbol(k-1)-symbol(k))>8);%เงอนไขk>1&&abs(symbol(k-1)-symbol(k))>8 เพอปองกนไมเหนเกบตาแหนงทไมใชตวอกษร k=k+1; else k=k-1; end end end k=k-1; if symbol(1)<=0 %ปองกนคาเกนขอบเขต symbol(1)=1; end if k>0 && symbol(k)<=0&&symbol(k)>=n %ปองกนคาเกนขอบเขต symbol(k)=n; end if k>0 && abs(symbol(1)-symbol(2))<5 %ปองกนการไดสงทไมใชตวอกษร ซงเราไดคาดการวา
27
ตวอกษรทแทจรงจะตองมความกวางมากกวา5พกเซล symbol(1)=0; symbol(2)=0; end if k>0 && abs(symbol(k-1)-symbol(k))<8 symbol(k-1)=0; symbol(k)=0; end
ตารางท 3.6 โคดตวอยางแสดงการตดตวอกษรออกจากกน
รปท 3.10 ผลลพธการตดตวอกษร
3.2 สวนรจาปายทะเบยนรถ หลงจากผานขนตอนการตดตวเลขและตวอกษรมาแลวกจะมาถงในสวนนคอ สวนรจาปาย
ทะเบยนรถหรอการระบตวเลขของปายทะเบยนรถ(ไมรวมตวอกษร) วาเปนหมายเลขใด ซงขนตอนการ
ระบตวเลขนผพฒนาไดใช Matlab ในการเขยนสวนทเปน เครอขายใยประสาท (Neural network) ซงใน
Matlab นนมฟงกชนใหใชงานในสวนนอยแลวซงผพฒนาโครงการไดแสดงโคดการสรางเครอขายใย
ประสาทนไวในสวนของภาคผนวก โดยทเครอขายใยประสาททสรางนเปนแบบ feed-forward back
propagation network ซงในการใชงานเครอขายใยประสาทใหสามารถจดจาตวเลข 0-9 ไดนน กอนอน
จะตองทาการ train ใหกบเครอขายใยประสาทนกอนนาไปใชงาน โดยผพฒนาโครงการไดใชภาพตวเลข
0-9 อยางละ 10 ภาพ แลวนาภาพเหลานไปหาคา central moment และ sum คาออกไปจากจด central
moment ตามแนวรศม ซงจะไดคาเฉพาะออกมาแตละภาพทงหมด 40 คา จากนนกนาคา 40 คาของแต
ละรปภาพ (ภาพ 0-9 อยางละ 10 ภาพ) น สงเขาไป train ใหกบเครอขายใยประสาทไดจดจาเพอใชเปน
ตวอางองในการเปรยบเทยบตวเลขทะเบยนทจะรบเขามาวาตวเลขทะเบยนนนเปนตวเลขอะไร
28
3.3 โปรแกรมถายภาพทะเบยนรถ ผพฒนาโครงการไดใช Visual C++ และมการใชไลบราร DirectShow [8] (เพอสาหรบการ
ตดตอกลองหรอเวบแคม) ในการเขยนโปรแกรมในสวนนขนมา ซงการทจะใชงาน DirectShow ไดนน
จะตองทาตามขนตอนดงน (สาหรบ Visual .net 2003)
- ทาการตดตง DirectX 9 Software Development kit (DXsdk)
- ทาการ Build โปรเจคทอยใน c:\โฟรเดอรทตดตง DXsdk\samples\C++\DirectShow\Base
Classes (โดย Build ใน mode Debug และ Release)
- ในการพฒนาโปรเจคจะตองทาการ include โฟรเดอร C:\โฟรเดอรทตดตง DXsdk\ samples
\C++\DirectShow \BaseClasses สาหรบผใช VC++ .NET พฒนาตองไปท Tools->Option->
Project->Directories ->Include Files
การใชงาน DirectShow ตองเพม Include<dshow.h> เขาไป และผใช VC++ .NET ใหไปท
property ของ โปรเจค ไปท Linker->General ใน Additional Library Directories ให add C:\โฟรเดอร
ทตดตง DXsdk \Samples\C++\DirectShow\BaseClasses\Debug และ C:\โฟรเดอรทตดตง DXsdk
\Lib ลงไป ยงอยใน Linker ใหไปท Input ใน Additional Dependencies ให add strmiids.lib,
quartz.lib ลงไป จากนนไปท C/C++ ไปท General ใน Additional Include Directories ให add C:\
โฟรเดอรทตดตง DXsdk \Include ลงไป
29
บทท 4 การออกแบบและพฒนาโปรแกรม
4.1 การออกแบบโปรแกรมและพฒนาโปรแกรม
การออกแบบและพฒนาโปรแกรมถายภาพทะเบยนรถใช Visual C++ ซงไดผลลพธออกมา
ดงรปท 4.1
รปท 4.1โปรแกรมจบภาพปายทะเบยนรถ
หมายเลข 1 Select Device ทาหนาทในการเลอกชนดกลองทจะใชงาน
หมายเลข 2 ปม Start Video ทาหนาทในการเรมทางานของกลอง ซงจะแสดงภาพทางดานซาย
หมายเลข 3 ปม Capture ทาหนาทในการจบภาพจากกลองทแสดงไวดานซายมาแสดงไว
ดานขวา
หมายเลข 4 ปม Save as ทาหนาทในการ save ภาพทไดจากการจบภาพ
หมายเลข 5 ปม Exit ทาหนาทสนสดโปรแกรม
30
การออกแบบและพฒนาโปรแกรมอานปายทะเบยนซงไดรวมเอาสวนของการตดตวอกษรและ
ตวเลขกบสวนรจาปายทะเบยนรถ โดยใช Matlab ในการเขยนโปรแกรมนขนมาซงไดผลลพธออกมาดง
รปท 4.2
รปท 4.2 โปรแกรมอานปายทะเบยนรถ
หมายเลข 1 ปม Train ทาหนาทในการสงภาพทเตรยมไว (ภาพ 0-9) เขาไปใหเครอขายใย
ประสาท (Neural Network)
หมายเลข 2 ปม Save ทาหนาทในการบนทกคาทไดทาการ train แลวเพอทาใหกลบมาใชคาน
ไดอกครงโดยไมตองทาการ train อก
หมายเลข 3 ปม Load ทาหนาทในการโหลดคาท train เกบไวเพอนามาใช
หมายเลข 4 ปม Find license plate ทาหนาทในการตดตวอกษรจากภาพปายทะเบยนรถ
หมายเลข 5 ปม Recognize ทาหนาทในการระบวาเลขทะเบยนจากภาพเปนหมายเลขใด
31
4.2 หลกการทางานของโปรแกรม โปรแกรมทงหมดทไดสรางขนกจะมขนตอนการทางานดง รปท 4.3
รปท 4.3 ขนตอนการทางานของโปรแกรม
32
บทท 5 ผลการดาเนนงาน
ผลการดาเนนงานทไดตงเปาไวตอนตนนนคอ ตองไดโปรแกรมออกมาสมบรณโดยสามารถ
ทางานรวมกนไดระหวางโปรแกรมทพฒนาขนดวย Visual C++ กบฟงกชนทพฒนาขนดวย Matlab แต
ผลลพธสดทายไมสามารถทาไดทางผพฒนาโครงการจงไดแบงการทางานแยกออกเปน 3 ขนตอน ดงน
1.โปรแกรมจบภาพปายทะเบยนรถ (ใช Visual C++)
2.ฟงกชนทใชในการวเคราะหตาแหนงปายทะเบยนกบตดตวอกษร (ใช Matlab 7.0)
3.ฟงกชนทใชในการจดจาตวเลขของปายทะเบยนรถ (ใช Matlab 7.0)
โดยทง 3 ขนตอนนจะแบงการทางานอยใน 2 โปรแกรม โปรแกรมแรกเปนโปรแกรมถายภาพ
เปนสวนทพฒนาขนจาก Visual C++ ซงใชทาหนาทในการจบภาพทะเบยนรถ เพอใชสาหรบเปนขอมล
ทจะปอนใหกบ ฟงกชนทใชในการวเคราะหตาแหนงปายทะเบยนกบตดตวอกษร ซงหนาตาของ
โปรแกรมเปนดงรปท 5.1
รปท 5.1 โปรแกรมถายภาพ
โดยการจบภาพควรใหมระยะประมาณ 0.5 – 1 เมตร และตาแหนงของปายทะเบยนควรจะอย
ตรงกลางภาพเพอผลลพธทถกตอง โดยภาพทไดจากการบนทกจะไดภาพทกลบหว
หลงจากทไดภาพปายทะเบยนรถมาแลว จากนนตองทาการรนโปรแกรมอานปายทะเบยนรถ
โดยใชโปรแกรม Matlab ในการชวยรน ซงโปรแกรมนรวมการทางานของฟงกชนทใชในการวเคราะห
33
ตาแหนงปายทะเบยนและฟงกชนทใชในการจดจาตวเลขของปายทะเบยนรถ ซงหนาตาของโปรแกรม
เปนดงรปท 5.2
รปท 5.2 โปรแกรมอานปายทะเบยนรถ
การทางานของโปรแกรมน เรมตนโดยการใหโปรแกรมนจดจาภาพหมายเลข 0 ถง 9 ทไดเตรยม
ไวแลว โดยการกดปม Train ซงภาพตนแบบทใหจดจานนมทงหมด 100 ภาพแบงเปนเลข 0 ถง 9 อยาง
ละ 10 ภาพ ซงในโปรแกรมจะแสดงภาพเหลานอยเหนอปม Train เมอโปรแกรมไดจดจาภาพเหลานเสรจ
แลว ตอจากนนจะตองทาการใหโปรแกรมตดตวอกษรจากภาพปายทะเบยนรถทไดถายไว โดยการลอก
เลข 0 หรอเลข 180 ในชอง Rotate ถาเปนภาพปายทะเบยนรถทกลบหวใหเลอกเลข 180 ถาเปนภาพ
ปายทะเบยนรถทไมกลบหวใหเลอกเลข 0 จากนนทาการเลอกทปม Find license plate มนกจะขน
dialog box ใหเลอกภาพปายทะเบยนรถทตองการ จากนนโปรแกรมจะประมวลผลและแสดงผลลพธ
ของการตดตวอกษรออกมาดงรปท 5.2 ใตขอความ Result จากนนทาการใหโปรแกรมตรวจสอบตวเลขท
ตดไดนน วาเปนตวเลขใดโดยการกดปม Recognize ผลลพธทไดจะแสดงไวในสวนกรอบสแดงซง
ถกตองเฉพาะแตตวเลขเทานน สวนตวอกษรมนจะแสดงตวเลขแทนดงรปท 5.2
34
ตารางท 5.1 แสดงผลลพธทสามารถตดตวอกษรได เทยบกบระยะทาง
ระยะหางระหวางกลองกบปาย
ทะเบยน
จานวนภาพทใช
ทดสอบ
จานวนภาพทตดตวอกษรไดคดเปน
เปอรเซนต
0.5 เมตร 30 ภาพ 90 %
1 เมตร 30 ภาพ 100%
มากกวา 1.5 เมตร 40 ภาพ 0%
35
บทท 6 สรปผลและขอเสนอแนะ
6.1 บทสรป
โปรแกรมอานปายทะเบยนรถเปนโปรแกรมทพฒนาขนโดยใช Visual C++ และ Matlab 7.0
เพอทใหสามารถอานปายทะเบยนรถจากภาพทจบได (เฉพาะตวเลข) เพอทจะนาผลทไดนไปประยกตใช
ตอไป โดยโปรแกรมทตองนาไปใชงานจะมอย 2 โปรแกรมคอ
1.โปรแกรมทใชถายปายทะเบยนรถ (ใช Visual C++ เขยน)
2.โปรแกรมอานปานทะเบยนรถ (ใช Matlab เขยน)
โดยโปรแกรมถายปายทะเบยนรถจะทาหนาทในการถายปายทะเบยนรถเพอเตรยมไวเปนขอมล
สาหรบใชในโปรแกรมอานปายทะเบยนรถ สวนโปรแกรมอานปายทะเบยนรถจะทาหนาทวเคราะห
ภาพถายปายทะเบยนรถเพอบอกวาปายทะเบยนรถมหมายเลขทะเบยนเปนอะไร
ซงผลลพธของโปรแกรมอานปายทะเบยนรถยงมขอจากดอยคอ สามารถตรวจสอบไดแตตวเลข
ของปายทะเบยนเทานน และจะตองมสภาพแวดลอมของการถายภาพปายทะเบยนรถทเหมาะสมเพอ
ผลลพธทถกตองอยางเชน จะตองถายภาพจากระยะประมาณ 0.5-1.25 เมตร ปายทะเบยนรถควรถาย
แบบหนาตรงหรอไมเอยงมากจนเกนไป
6.2 ปญหาทพบในการดาเนนงาน ในการรวมฟงกชนทใชตดตวอกษรและฟงกชนทใชจดจาตวเลขทเขยนขนโดย Matlab และ
โปรแกรมถายปายทะเบยนรถทใช Visual C++ ไมสามารถรวมกนทางานเปนโปรแกรมเดยวได และยง
ไมสามารถจดจาในสวนของตวอกษรของทะเบยนได
6.3 ขอเสนอแนะ เพอใหสามารนาไปใชงานไดอยางมประสทธภาพ ควรตองทาเพมเตมในสวนของการจดจา
ตวอกษรของปายทะเบยนรถ และทาใหโปรแกรมถายปายทะเบยนรถกบโปรแกรมอานปายทะเบยนรถ
สามารถทางานรวมกนได ซงจะทาใหสะดวกในการนาไปใชในการใชงานอยางอนตอไปได เชน นาไป
ประยกตใชในการเกบเงนทจอดรถ
36
ภาคผนวก โคดการสราง Neural Network ใน Matlab
function [net,max_min] = train_lpr() clear all load p100v6 %โหลดไฟล p100v6 ทมภาพตวอกษร 0-9 เกบไว
k = 1; SE1 = ones([2 2]); SE2 = [0 1 0;1 1 1; 0 1 0]; for i = 0:9 %ภายในลปนเปนการปรบปรงภาพ 0-9 ทไดโหลดมาเพอนาไป train for j = 1:10 eval(sprintf('pin = p%d_%d;',i,j)) pin = [ones([size(pin,1) 2]) pin ones([size(pin,1) 2])]; pin = [ones([2 size(pin,2)]); pin; ones([2 size(pin,2)])]; for n = 1:1 %Preprocessing for noise removal pin = imdilate(pin,SE1); pin = imdilate(pin,SE1); pin = imerode(pin,SE1); pin = imerode(pin,SE1); pin = imerode(pin,SE1); pin = imdilate(pin,SE1); pin = imdilate(pin,SE2); pin = imerode(pin,SE2); pin = imerode(pin,SE2); pin = imdilate(pin,SE2); end x(:,k)=feature_extract2(pin,40,1);%array 40*100 y(k) = i; k = k+1; disp(sprintf('p%d_%d',i,j)) end end PR = [min(x,[ ],2) max(x,[ ],2)]; max_min = PR; %เกบคาสงสดตาสดไวเพอใช %normalize x-data to [0-1] for i = 1:size(x,2) x(:,i) = (x(:,i) - PR(:,1))./(PR(:,2)-PR(:,1)); end %minimum and maximum value of x-data PR = [min(x,[],2) max(x,[],2)] %Network structure4layers,Layer1=20 Nodes,Layer2=10Nodes ,... S = [20 10 10 1]; %Types of nodes in each layer T = {'tansig' 'tansig' 'logsig' 'purelin'}; net = newff(PR,S,T,'trainlm','learngdm','mse'); net.trainParam.epochs = 1000; net.trainParam.goal = 0.0001; net = train(net,x,y); %Neural network ทไดสรางเสรจ
37
โคดการหาคา Central moment function f = feature_extract2(pin,npoint,step);
pin = ~pin; pin = double(pin); %Normalize image to the same pixel (1500 pixels) pin = imresize(pin,sqrt(1500/sum(sum(pin))),'bilinear'); N = size(pin); row = [1:N(1)]'*ones([1 N(2)]); % row = y coordinate col = ones([N(1) 1])*[1:N(2)]; % col = x coordinate m00 = sum(sum(pin)); m10 = sum(sum(col.*pin)); m01 = sum(sum(row.*pin)); %Centroid point xbar = m10/m00; ybar = m01/m00; k = 1; N = size(pin); for theta = 0:2*pi/npoint:2*pi s = 0; i = step; xi = xbar + i*cos(theta); yi = ybar + i*sin(theta); while (xi<=N(2))&(xi>=1)&(yi<=N(1))&(yi>=1) s = s + interp2(pin,xi,yi); i = i+step; xi = xbar + i*cos(theta); yi = ybar + i*sin(theta); end f(k) = s; k = k+1; end f=f';
38
การใชงานโปรแกรมถายภาพทะเบยนรถและโปรแรมอานปายทะเบยนรถ ผพฒนาโครงการจะอธบายวธในการรนโปรแกรมทง 2 โปรแกรมทไดพฒนาขนในโครงการนคอ
โปรแกรมถายภาพทะเบยนรถและโปรแกมอานปายทะเบยนรถซงมรายละเอยดดงน
- โปรแกรมถายภาพทะเบยนรถ (LPRprogram.exe) ใหทาการคดลอกไฟล msvcr71d.dll และ
mfc71d.dll ทเตรยมไวใหแลวไปไวใน C:\WINDOWS\system32 จากนนจงสามารถรนโปรแกรมนได
- โปรแกรมอานปายทะเบยนรถ โปรแกรมนประกอบไปดวยไฟล LPRprogram.m, train.m,
neural.m, lpr.m, feature_extract2.m, waitPicture.bmp, p100v6.mat, global_var.mat ซงไมควรทา
การเปลยนชอไฟลใดๆเหลาน ในการรนโปรแกรมนนตองใชโปรแกรม Matlab ชวยในการรนโปรแกรม
(ควรเปน Matlab 7.0 ขนไป) โดยวธการคอ ทาการเปดโปรแกรม Matlab ขนมา จากนนทาการเปลยน
ไดเรคทอรไปยงโฟลเดอรทเกบโปรแกรมอานปายทะเบยนรถไว ทาการพมพ LPRprogram ซงเปนชอ
ไฟลททาหนาทในการเรมตนรนโปรแกรมนลงไปใน Matlab command ดงรปท 7.1 กจะสามารถทาการ
รนโปรแกรมได
รปท 7.1 การรนโปรแกรมอานปายทะเบยนรถ
กดสาหรบเปลยนโฟลเดอรไปยงโฟลเดอรท
เกบไฟลทงหมดของโปรแกรมน
พมพชอไฟลทตองการรน สาหรบการ
รนโปรแกรมนไฟลเรมตนการทางาน
โปรแกรมคอ ไฟล LPRprogram
แสดงรายชอของไฟลทงหมดใน
โฟลเดอรทกาลงใชงานอย
39
บรรณานกรม [1] “Artificial Neural Network”, Retrieved 10 Jan, 2006, from
http://202.28.94.55/web/320417/2548/work1/g26/Files/Report_Neural%20Network.doc
[2] กฤษฎา กลยาสรวฒนและ ฐต กนตถาวร. โครงการระบบรจาปายทะเบยนรถ : สถาบนเทคโนโลย
เจาคณทหารลาดกระบง. http://www.ce.kmitl.ac.th/project/display1.php?id1=428
[3] สพฒน สธทศน, พงศธารน วนยเวคนและ อครชย อรรถกล. License Plate Recognition:
จฬาลงกรณมหาวทยาลย. http://www.cp.eng.chula.ac.th/~u45atk/mmdb/index.htm
[4] Dubey, P. Heuristic Approach for License Plate Detection, NECTEC, pages 366-370
[5] krssakar, (16 Apr 2004), Simultaneous Previewing & Video Capture using DirectShow,
Retrieved Dec.20, 2006, from http://www.codeproject.com/audio/DXCapture.asp
[6] Gonzalez, R.C. and Richard E. Woods,“Digital Image Processing”, Second Edition,2002.
[7] Gonzalez, R.C. and Richard E. Woods, “Digital Image Processing using Matlab”,
Second Edition, 2002.
[8] Pesce, M. D. “Programming Microsoft Directshow for digital video and television”