2021年6月15日 星期二

s1063314 影像處理作業7

   作業說明:

 題目:

請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

開發環境:
  1. Windows10
  2. Visual Studio 2017
  3. OpenCV - 4.5.1
  4. C++ 
程式說明:

                 用erode&dilate做事前處理,findContours計算數量

    1. 讀取圖片成灰階圖
    2. 做二值化
    3. 做侵蝕&膨脹設定
    4. findContours來計算數量
    5. 存取圖片&輸出結果

執行結果:
圖1

圖2

圖3

結果

圖一(18/24) 圖二(29/31)圖三(31/31)





s1073319影像處理作業7

一、作業說明:

       題目:利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

二、使用環境:

        - Windows 10

        - Visual Studio Code 

        - OpenCV

        -Nump

程式說明

1. imread讀取圖片,讀取時設為灰階圖

2. threshold將灰階圖二值化

3. 每個點減掉255將其反白

4. erode將圖片侵蝕

5. dilate將圖片膨脹

6. findContours計算出個數

結果:

圖1.



圖2.



圖3.










s1071215 影像處理作業7

 

作業說明:

請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

a.  請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。

b.  程式不一定可以算出正確棋子數量,越接近正確答案越好!

開發環境:

Window 10Anaconda Navigator 2.0.1Spyder 5.0.0OpenCV 4.0.1

程式說明:

  1. imread()讀取圖片
  2. 將圖片轉為灰階
  3. 進行高斯模糊
  4. 進行threshold二值化處理
  5. 將圖片進行erode()和dilate()處理,使用適當的iterations
  6. 利用findContours獲取輪廓
  7. 計算棋子的數量
  8. print結果並以imwrite()將圖像結果輸出。

程式執行畫面及結果:


程式結果

test1 原圖24 測試結果24
test2 原圖31 測試結果29
test3 原圖31 測試結果31








2021年6月14日 星期一

s1070931 影像處理作業7

一、作業說明:

       利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

二、使用環境:

        - Windows 10

        - Visual Studio 2019 16.8.2(C++)

        - OpenCV4.5.0

        三、程式流程:

        -imread()讀取圖像,並resize()成適當大小
        -threshold()做二值化後,將圖片負片
        -dilate()影像膨脹將黑洞雜訊去除
        -erode()影像侵蝕成適當大小(能分離出每個棋子的個數)
        -findContours()得到棋子的數量
        -inshow()顯示圖片 

四、作業成果:

        IMG_5702.JPG (原棋子數:24,計算得出:21)

 

 

         IMG_5703.JPG (原棋子數:31,計算得出:28)

 

          

        IMG_5704.JPG (原棋子數:31,計算得出:31)