MATLAB OCR 7-Segment Part4
Step 3 นับจำนวนตัวเลขในภาพ
ถ้าใครใช้กล้อง step นี้ก็ถือเป็นการ calibate กล้องไปในตัวด้วยครับ ถ้าเราปรับกล้องได้ตรงดีแล้ว จำนวนตัวเลขที่โปรแกรมนับได้ ก็จะต้องเท่ากับจำนวนตัวเลขที่เราเห็นครับในขั้นตอนนี้ผมจะแยกโค้ดชุดนี้ไปเขียนไว้อีกไฟล์หนึ่งนะครับ โดยจะเขียนในรูปแบบของฟังก์ชัน เพื่อให้สะดวกต่อการเรียกใช้งาน
วิธีการก็ง่ายๆ ครับ แค่ new m-file ขึ้นมาใหม่ แล้วก็วางโค้ดชุดนี้ลงไป
function num = allnum(bw) ax = sum(bw); ay = sum(bw,2); bwx = ax>0; bwy = ay>0; [lbx,ngx] = bwlabel(bwx); [lby,ngy] = bwlabel(bwy); num = ngx*ngy; end
เสร็จแล้วก็บันทึกเลยครับ ข้อควรระวัง ห้ามบันทึกไฟล์เป็นชื่ออื่นนะครับ ต้องบันทึกเป็นชื่อเดียวกับชื่อฟังก์ชันเท่านั้น ซึ่งในที่นี่ก็คือฟังก์ชัน allnum โดยไฟล์นี้ต้องบันทึกไว้ในโฟลเดอร์เดียวกันกับโปรแกรมหลักนะครับ
คราวนี้ เราก็เรียกใช้งานฟังก์ชันนี้ในโปรแกรมหลักของเราได้แล้วครับ
%check how many number nb = allnum(xbw);
ตัวแปร nb ก็คือ จำนวนตัวเลขที่อยู่ในภาพ เราก็ลองเช็คดูนะครับว่ามันได้ตรงกับที่เรามองเห็นรึเปล่า ถ้าตรงกัน ก็ถือว่าผ่านครับ ไปขั้นตอนต่อไปได้
<< Part3 | Part5 >> |
---|