請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張圖像中 圍棋個數。
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
沒有留言:
張貼留言