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 >>

ความเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การแก้สมการ Differential ด้วย MATLAB

การหาค่าเฉลี่ยโดยไม่ต้องเก็บค่า

การเปรียบเทียบข้อมูล