開發環境
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月7日 星期五
2019年5月16日 星期四
s1051430的作業3
開發環境
Windows 10 + Visual Studio 2017 + OpenCV 3.4.5
實作方法
讀入圖片後,使用copyMakeBorder()對圖片做padding
使用dft()對圖片做傅立葉轉換
使用split()分離出實數部和虛數部
使用magnitude()取得頻譜圖
使用phase()取得相位圖
成果展示
原圖
Windows 10 + Visual Studio 2017 + OpenCV 3.4.5
實作方法
讀入圖片後,使用copyMakeBorder()對圖片做padding
使用dft()對圖片做傅立葉轉換
使用split()分離出實數部和虛數部
使用magnitude()取得頻譜圖
使用phase()取得相位圖
成果展示
原圖
頻譜
相位
2019年3月31日 星期日
s1051430作業2
開發環境
Windows 10 + Visual Studio 2017 + OpenCV 3.4.5
實作方法
讀入圖片後,使用cvtColor()將圖片的色彩空間由RGB轉換為YCrCb
使用split()將圖片拆成Y, Cr, Cb三個channel
接著對Y channel中的每個像素使用sobel operator分別算出Gx及Gy
各取絕對值後,將兩者相加(取近似值|Gx|+|Gy|)
使用merge()將處理完成的Y channel和Cr channel, Cb channel結合
再轉回RGB色彩空間
成果展示
Windows 10 + Visual Studio 2017 + OpenCV 3.4.5
實作方法
讀入圖片後,使用cvtColor()將圖片的色彩空間由RGB轉換為YCrCb
使用split()將圖片拆成Y, Cr, Cb三個channel
接著對Y channel中的每個像素使用sobel operator分別算出Gx及Gy
各取絕對值後,將兩者相加(取近似值|Gx|+|Gy|)
使用merge()將處理完成的Y channel和Cr channel, Cb channel結合
再轉回RGB色彩空間
成果展示
Gx
2019年3月18日 星期一
s1051430的作業1
開發環境
Windows 10 + Visual Studio 2017 + OpenCV 3.4.5
實作方法
讓使用者輸入檔案名稱(需與cpp檔同一目錄下)和亮度調整值
使用imread()讀取圖片
使用convertTo()對影像做線性變換(x’=a*x+b)
convertTo()中已有呼叫saturate_cast<>防止像素溢位
使用imwrite()將處理好的影像輸出
以namedWindow()開啟影像視窗
使用imshow()將影像以上一步的視窗開啟
成果展示
Windows 10 + Visual Studio 2017 + OpenCV 3.4.5
實作方法
讓使用者輸入檔案名稱(需與cpp檔同一目錄下)和亮度調整值
使用imread()讀取圖片
使用convertTo()對影像做線性變換(x’=a*x+b)
convertTo()中已有呼叫saturate_cast<>防止像素溢位
使用imwrite()將處理好的影像輸出
以namedWindow()開啟影像視窗
使用imshow()將影像以上一步的視窗開啟
成果展示
訂閱:
文章 (Atom)











