顯示具有 1041538 標籤的文章。 顯示所有文章
顯示具有 1041538 標籤的文章。 顯示所有文章

2019年6月3日 星期一

S1041538的作業五

一、作業題目
請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張
圖像中圍棋個數。

二、開發環境
Windows 10Python 3.4.6Opencv 4.0.0matplotlib 3.0.3

三、解題邏輯
先將圖片二值化後,使用Erosion的技術令其相連的棋子點分開,之後再去計算
有幾個分開的輪廓即可得出棋子個數。

三、解題細節
1.      由於Erosion技術和計算輪廓的技術,在opencv當中都是默認以黑底白物體來判斷,因此在讀進img並二值化完後,我進行了黑白色翻轉的動作(重點程式碼如下)
(thresh, img) = cv2.threshold(im_gray, 128, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
2.      接著,在使用Erosion技術時,必須設定kernel的形狀大小。這邊由於測試圖三張的棋的重疊程度不太一樣,因此我手動地去更動kernel的大小,並使用200300兩組大小分別去Erosion,以下是Erosion完的結果
3.      最後一步,去計算輪廓物件的個數,使用到thresholdfindContours的技術(重點程式碼如下)
cv2.threshold(img,127,255,cv2.THRESH_BINARY)
cv2.findContours(binary, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
4.      結果呈現


四、過程的截圖
老師給的圖(我重新命名,方便之後跑程式)

圖A,以kernel size  200 和 300,分別跑完的圖

圖B,以kernel size  200 和 300,分別跑完的圖

圖C,以kernel size  200 和 300,分別跑完的圖

2019年5月14日 星期二

S1041538的作業四

一、作業題目
利用你所學的顏色的知識,撰寫一個程式來偵測一張輸入照片中的皮膚區域
並將其標示出來

二、開發環境
Windows 10Python 3.4.6Opencv 4.0.0matplotlib 3.0.3

三、實作方法
建立RGB空間參數膚色模型,並且定義一個較廣的皮膚色範圍值,
接著去偵測原圖,並將顏色值落在該範圍的區域保留下來,其餘的都填入黑色

四、成果截圖

2019年5月8日 星期三

S1041538的作業三

一、作業題目
請撰寫一個程式,讀取一張 256 色灰階圖像。計算輸入圖的離散傅立葉轉換
結果,並 將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。

二、開發環境
Windows 10Python 3.4.6Opencv 4.0.0matplotlib 3.0.3

三、特殊程式片段
np.fft.fft2:進行傅立葉轉換的運算
np.fft.fftshift:將轉換結果作移頻的動作


四、成果截圖


2019年4月2日 星期二

s1041538的作業2

       一、           作業題目
邊緣偵測與製作線條自畫像撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像,利用 Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎,設計一個類似素描線條自畫像程式。

二、           開發環境
Windows 10Python 3.4.6Opencv 4.0.0matplotlib 3.0.3

三、           特殊片段
cv2.Canny()函式
edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]]) 
apertureSize 為卷積核大小 
L2gradient 引數設定求梯度大小的方程

四、           執行結果

2019年3月16日 星期六

s1041538的作業1

題目:撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值v (-128 128)來改變整張圖像的亮度,將修改後的圖像儲存至新影像檔案中。

環境:windows 10+ opencv4.0+python3.6.8+pycharm

執行結果: