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

2020年7月1日 星期三

1051532 影像處理作業 6


一、作業說明
        請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附
圖像(共三張)每張圖像中圍棋個數。
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋
子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!
二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64

三、操作步驟
  1. 利用cin輸入檔名
  2. 用cv.imread輸入圖檔
  3. 利用resize調整圖至600x400
  4. 使用blur調整圖片過於明亮的部分
  5. 將圖輸出至黑白圖片
  6. Threshold()將其二值化標示棋子
  7. 利用erode()及dilate()分離棋子
  8. Canny()標示邊緣
  9. findContour()取得邊緣位置
  10. drawContour()將邊緣畫回輸入圖檔
  11. contourArea()計算各圖形面積
  12. 計算值並找出棋子數量
四、執行結果

2020年6月3日 星期三

1051532 影像處理作業 5



一、作業說明
        撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64 
三、操作步驟
  1. 利用cin輸入檔名
  2. 用cv.imread輸入圖檔
  3. 將原圖加上cv.randn()產生Gaussian Noise圖像
  4. 利用cv.randu()產生隨機圖片
  5. 標註產生圖片的特定值(<20及>235)
  6. 於原圖上將標記位置覆蓋並給予白點及黑點產生Salt-and-pepper圖
  7. 利用cv.GaussainBlur()處理Gaussain Noise圖
  8. 利用cv.MediamBlur()處理Salt-and-pepper
  9. cv.imshow()顯示原圖及雜訊圖
四、執行結果

原圖
Mean=0 標準差=20
Mean=0 標準差=80
Salt-and-Pepper


Mean=0 標準差=20 高斯模糊Ksize=(3,3)
Mean=0 標準差=80 高斯模糊Ksize=(5,5)
Salt-and-pepper 中值過濾











































五、參考資料



2020年5月20日 星期三

1051532 影像處理作業 4


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

二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64

三、操作步驟
  1. 利用cin輸入檔名
  2. cvtColor()將讀入的圖片由RBG轉成HSV
  3. 利用inRange()選取HSV間的範圍(利用H選擇特定顏色)
  4. Imshow()輸出圖片



四、執行結果




五、參考資料
https://ccw1986.blogspot.com/2012/12/opencvhsv-skin-color-detection.html

1051532 影像處理作業 3





一、作業說明
        撰寫一個程式,讀取一張 256 色灰階圖像(圖像大小適中以免執行時間太久)。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。

二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64
三、操作步驟
  1. 利用cin輸入檔名
  2. 利用imread()灰階模式讀入圖片
  3. 為輸入圖片增加邊緣
  4. 用dft()做離散傅立葉轉換
  5. Split()分割出實部、虛部
  6. 使用Magnitude()及Phase()並做對數尺度化
  7. Normalize()標準化結果
  8. Imshow()顯示原圖、spectrum、phase angle
四、執行結果






五、參考資料
https://docs.opencv.org/master/d8/d01/tutorial_discrete_fourier_transform.html







2020年4月8日 星期三

1051532 影像處理作業 2

二值化與邊緣偵測 
一、作業說明
撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白
圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)。
二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64
三、操作步驟
  1. 利用cin輸入檔名
  2. 利用imread()灰階模式讀入圖片
  3. 使用threshold()進行二值化
  4. 使用Sobel()進行Sobel運算
  5. 輸出二值化圖片及邊緣偵測結果
四、執行結果









2020年3月18日 星期三

1051532 影像處理作業 1

圖像亮度調整


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

二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64
三、操作步驟
  1. 利用cin取得變數v(-255<=v<=255)
  2. 利用imread將原圖讀入程式
  3. 用at抓取圖檔像素點之BGR三色數值
  4. 依變數v調整數值
  • 超過255時以255計
  • 低於0時以0計
  1. 利用at將修改後BGR值放回
  2. 重複3,4,5直到每個點都做完
  3. 用imshow於新視窗顯示修改之圖檔
  4. 用imwrite輸出編輯後的圖片
四、執行結果

  • 原圖

  1. v值輸入
  1. 輸入100
  1. 輸出至資料夾
  1. 輸出圖檔
  1. 輸入-100
  1. 輸出圖檔