顯示具有 110 hw7 標籤的文章。 顯示所有文章
顯示具有 110 hw7 標籤的文章。 顯示所有文章

2022年6月9日 星期四

s1081544 作業7

作業說明:

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

開發環境:

   Windows 11

      Visual studio2022

      Opencv-4.5.5

      C++

實作方法:

讀入圖片後先將圖片轉成灰階圖,將灰階圖二值化,接著反白,然後用erode()和dilate()將棋子之間分開,再用findContours()找到輪廓並畫出來,最後輸出找到的輪廓數量。

執行結果:

   image1偵測到的棋子數:22

   image2偵測到的棋子數:31

   
   image3偵測到的棋子數:31

2022年6月7日 星期二

s1081526 作業7

 1. 作業說明:

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


2. 開發環境:

    windows11

    opencv-python 4.5.5.64


3. 流程:

    *需要將圖片與程式碼放在同一個資料夾中*

    我使用for迴圈用一樣的流程處理三張圖片。(三張圖片的路徑存在一個list中)

    將圖片讀入後,先將圖片進行二值化。(我用的是我自己寫的函式,只進行了簡單的二值化)

    在二值化的同時將棋子的顏色變成白色,背景變成黑色。因為opencv的erotion是由白色區塊來判定的。

    接著使用erotion盡可能地將棋子與棋子分開,再使用dilation增加被侵蝕後的圖像體積。

圖片1的erotion和dilation

圖片2的erotion和dilation

圖片3的erotion和dilation

    然後使用findcounters得到函式計算的輪廓數量,就是棋子的數量了。

    我原本kernel是用125*125,但這樣雖然有一張圖的數量是完全正確,其他張都卻都差的有點多。所以最後我用111*111,這樣雖然每張圖都有誤差,但是都只誤差1而已。



s1083332 作業7

一、作業說明

    請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像

    (共三張)每張圖像中圍棋個數。

二、開發環境

    Windows 10

    Python 3.9.7

    OpenCV - 4.5.5

三、實作方法

    1. 以灰階模式讀入圖片

    2. 將圖片resize,並二值化

    3. 用erode處理圖片

    4. 利用findContours()偵測圍棋輪廓,得到圍棋個數

    5. 利用drawContours()繪製輪廓

四、執行結果

IMG_5702.JPG

    

IMG_5703.JPG

  

IMG_5704.JPG

                                                                    
偵測到的圍棋個數

s1061551 作業7

 

題目:

請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函

),計算出所附圖像(共三張)每張圖像中圍棋個數。

環境:

1.    Windows 10

2.    Python3.9

3.    OpenCV 4.5.5

方法:

1.    讀取圖片

2.    將圖像轉換為灰階圖片

3.    將圖像二質化

4.    使用cv2.getStructuringElement()來取得kernel

5.    Erode二質化的圖像

6.    擴張 erode過後的圖像

7.    利用cv2.findContours() 來得到一共有多少輪廓

8.    使用cv2.drawContours()將輪廓畫在圖像上

9.    儲存圖像

原圖:


偵測:


Erode:


Dilate:


原圖:


偵測:


Eorde:


Dilate:


原圖:


偵測:


Erode:


Dilate:

偵測棋子數量:























2022年6月5日 星期日

s1083309 作業7

 1.作業說明

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

2.開發環境

windows10

Visual Studio 2022

OpenCV4.5.5

3.實作方法

1.先將圖片轉成灰階圖

2.使用erode()以及GaussianBlur()將圖片去噪,消除毛邊

3.透過HoughCircles()找出圖片中的圓形物體

4.最後使用circle()畫出剛剛偵測到的物體

4、執行結果


IMG_5702
實際顆數:24
偵測顆數:17

IMG_5703
實際顆數:31
偵測顆數:27



IMG_5704
實際顆數:31
偵測顆數:31