2019年6月20日 星期四

s1043339作業1

一、作業要求


撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255 < v < 255),並將圖像儲存至一個新圖像檔案中。


二. 使用環境


Operation system: windows10
Programing language: Python3.6.8
Library version: Opencv 3.4.1


三. 實作方法


將圖片讀入後已遮罩的方式先複製同樣高和寬的遮罩
根據其bar改動的值調整遮罩的數值,將其覆蓋在原本圖片上來達到其視覺效果

四. 結果顯示


原圖


調亮度值

調整量和暗的值

2019年6月19日 星期三

1043362 作業一

一、作業要求


更改圖片像素RGB


二. 使用環境


Operation system: windows10
Virtual environment: Anaconda 4.6.8
Programing language: Python3.6.8
Library version: Opencv 3.4.1


三. 實作方法


讀取圖檔,在修改圖的大小(原圖太大),根據其RGB值做運算

四. 實作結果

(左邊+80、右邊-80)

2019年6月18日 星期二

s1043362 作業5

一、作業要求


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


二. 使用環境


Operation system: windows10
Virtual environment: Anaconda 4.6.8
Programing language: Python3.6.8
Library version: Opencv 3.4.1


三. 實作方法


將圖片讀入並執行以下步驟:

cv2.cvtColor() 將圖片轉為灰階

cv2.threshold() 對圖片做二值化

cv2.erode() 進行數次的腐蝕

cv2.dilate() 進行數次的膨脹

cv2.findContours() 找出輪廓

四. 實作結果


2019年6月17日 星期一

1051402 作業五

一、作業要求:
 請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張圖像中圍棋個數。
a. 
請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
b. 
程式不一定可以算出正確棋子數量,越接近正確答案越好
二、使用的環境:
·                  Windows10
·                  Visual stduio2013
·                  Open cv 2.4.13
·                  C++
三、執行方式
·        利用imread()讀入圖片
·        利用threshold將圖片做二值化
·        利用 getStructuringElement()設定dilateelement
·        利用 讀取img的像素,遇到顏色為黑色的話,將四周50pixel的值以灰色取代,並計算棋子數量+1,計算棋子的數量。
、執行結果
圖片一:跑出24個棋子
圖片二:跑出28個棋子



圖片三:跑出31個棋子


 



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

2019年6月7日 星期五

1051536 作業5

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


二、使用的環境:
  • Windows10
  • Python3.6
  • Opencv-3.4
  • Pyqt 5
  • Matplotlib-3.0.1

三、特殊程式片段說明:

      cvCvtColor:將彩圖轉成灰階
      cvThreshold:二質化圖片
      cvCreateStructuringElementEx:定義kernel樣式和大小
      cvErode:腐蝕圖片
      cvDilate:膨脹圖片
      cvFindContours:用來計算有幾個黑色旗子

四、執行結果


s1051430的作業5

開發環境
    Windows 10 + Visual Studio 2017 + OpenCV 3.4.5

實作方法
    將圖片以灰階讀入    對圖片做threshold,使其只有黑與白
    以半徑為20pixel的圓對圖片做close,使其反光區域消失
    以半徑為175pixel的圓對圖片做erode,留下圓心的部分
    以半徑為30pixel的圓對圖片做hit-or-miss
    用findContours找出輪廓數量
    得出的結果準確率不高...

成果展示


IMG_5702

IMG_5703

IMG_5704

2019年6月6日 星期四

104153

題目

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

環境與使用套件版本

  • Windows 10
  • python3.7
  • opencv-python

程式步驟
      用灰階讀取圖片
     用erode和dilate侵蝕和膨脹
     用threshold二值化
     用findContours計算有多少棋子

執行畫面


s1052063 的作業 5

一、作業題目:

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


二、環境設置:
  1. Visual Studio 2017
  2. opencv 3.4.0

三、作業說明:

  1. 灰階讀取圖片
  2. threshold將圖片二值化再進行平滑
  3. erode()侵蝕圖片 在使用dilate()膨脹白色部分於分開相連黑子
  4. findContours()計算

、結果展示:






誤差4、1、1
5702相疊較多,調整膨脹次數或者模板尺寸應該會有更好的結果

1051436 的hw5

作業要求

撰寫一個程式,利用數學影像處理運算,計算出所附圖像(三張),每張圖像中圍棋個數

實作環境
Windows 10 +Visual Studio 2017 + OpenCV 3.4

實作使用的函式
1.imread()讀入灰階
2.getStructuringElement()讓我們得到要進行侵蝕或膨脹的模板
3.threshold()將圖進行二值化
4.利用照片向素顏色計算棋子數量
5.resize()把適當大小的圖輸出

實作結果






s1051416 的作業5

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

實作方式:
以灰階讀取圖片,設定作為Kernal參數的size,設閥值二值化、黑白反轉,
接連做erode()侵蝕、
morphologyEx開運算,調整至最理想結果,用findContours找輪廓
並輸出結果

作業環境:

windows10, visual studio 2017, opencv3.4.4

實作結果:


圖1 : 正確棋數為24 ,偵測結果為20
 圖2 : 正確棋數為31 ,偵測結果為30
 圖1 : 正確棋數為31,偵測結果為31

s1041570 的 作業5

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

二.、環境
    Windows 10 + Visual Studio 2017 + OpenCV3.4

三、程式說明

    1. 讀入圖片後先轉成灰階
    2. Threshold 二極化
    3. 重複數次的Erode運算
    4. 再利用FindContours找出共有幾枚棋子

四、執行結果:

圖一運算後
圖二運算後

圖三運算後

輸出結果