2019年6月13日 星期四

s1051423的作業5

一、題目: 
請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張圖像中 圍棋個數。
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋 子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!

二、環境: 
MS Window 10
Visual Studio 2017
OpenCV 3.4.1

三、說明: 
1. 載入影像
    Mat src = imread( [ 圖片檔名 ] , CV_LOAD_IMAGE_GRAYSCALE);

2. 調整影像大小至 800 X 533

    resize(src, src_rs, Size(800, 533), 0, 0, INTER_LINEAR);

3. 
將影像二值化(以120做為閥值)
    threshold(src_rs, src2, 120, 255, THRESH_BINARY);

4. 取得要進行dilate的模板(模板形狀選用矩形)
    getStructuringElement(MORPH_RECT, Size(30, 30));

5. 將影像用上面取得的模板做膨脹

    dilate(src2, dst, element);

6. 數棋子

    用dst.at<uchar>(i, j)尋找每個像素,當為0(黑色)時,以那個像素為中心點將周圍延伸95 X 95像素
    改為125(灰色),同時count + 1,然後繼續尋找直到全部像素找完

7. 輸出count

四、實作:
1. IMG_5702.JPG
 


2. IMG_5703.JPG



3. IMG_5704.JPG

沒有留言:

張貼留言