MATLAB OCR 7-Segment Part2

Step 1 อ่านภาพและแปลงเป็นไบนารี่ (ขาว-ดำ)

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

7segment.png

มาเริ่มเขียนโปรแกรมกันเลยครับ

clc;clear;close all;
pic = imread('7segment.png');
bw = im2bw(pic,0.1);

เนื่องจากเป็นการเริ่มเขียนโปรแกรมขึ้นมาใหม่ ผมมักจะแนะนำให้ใส่โค้ด
clc;clear;close all;
ไว้บรรทัดบนสุดเสมอนะครับ เพื่อทำการเคลียร์หน้าจอ command window (clc) และเคลียร์ข้อมูลตัวแปรใน workspace (clear) สุดท้ายคือปิดหน้า figure ทั้งหมดที่เปิดอยู่ (close all)

ซึ่งในการใช้งานจริง การเคลียร์ข้อมูลก่อนรันแบบนี้จะมีประโยชน์มากครับ เพราะว่า...

1. เราไม่ต้องสับสนกับตัวแปรเก่า หรือตัวแปรจากโปรแกรมอื่นๆ
เช่น ถ้าเราไม่ลบข้อมูลตัวแปรในโปรแกรมก่อนหน้านี้ ซึ่งอาจมีตัวแปร pic เหมือนกัน แต่มันเก็บข้อมูลคนละรูป แล้วในโปรแกรมนี้เราดันลืมเขียนตัวแปร pic ให้อ่านภาพใหม่ โปรแกรมเราก็จะยังทำงานได้นะครับ เพราะมันเจอตัวแปร pic ของโปรแกรมเก่า แต่ผลที่ได้คือโปรแกรมทำงานผิดพลาด

2. ข้อความแจ้งเตือน Error
ผมว่า MATLAB แจ้งเตือน error ได้ดีมากเลยนะครับ มันจะบอกหมดเลยว่า เราเขียนผิดตรงบรรทัดไหน ผิดเพราะอะไร ซึ่งถ้าเราไม่ลบข้อความ error อันเก่าออกก่อนจะรัน เราก็จะสับสนว่ามัน error ตรงไหนบ้าง แล้วก็ไม่รู้ว่า error อันเก่าที่แก้ไป หายรึยัง

ฝากเพิ่มเติมนิดนึงนะครับ
เวลาเข้ามาถามผมในเพจแม็ทแล็ป เกี่ยวกับโค้ด error ไม่ต้องส่งโค้ดมาให้ผมดูนะครับ ให้ก็อปปี้ข้อความ error ที่มันแจ้งในหน้า command window มาให้ผมดู ผมจึงจะบอกได้คุณต้องแก้บรรทัดไหน แก้ยังไง แต่จริงๆ แล้วก็อยากให้ลองอ่านข้อความแจ้งเตือน error ดูกันก่อน ถึงมันจะเป็นภาษาอังกฤษ แต่มันก็ไม่ได้เข้าใจยากขนาดนั้น google translate ก็มี อย่างน้อยๆ ก็เรียน ป.ตรี กันละ ทักษะภาษาอังกฤษ มันก็ควรจะมีติดตัวบ้างนิสนึง


<< Part1 Part3 >>

ความเห็น

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

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

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

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