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

2019年3月31日 星期日

s1051418 作業2


一、作業要求:

邊緣偵測與製作線條自畫像 Edge Detection Contour Drawing
撰寫一個程式,讀取一張256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I或Y處理,再轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)

二、使用環境/語言:
  • Windows10
  • Visual Studio 2015
  • Opencv-3.4.1
  • C++
三、特殊程式片段註解:
  • Sobel():分別對影像進行水平及垂直的運算,並得到X軸和Y軸的一階梯度
  • GaussianBlur():對圖片模糊處理,以減少雜訊
  • convertScaleAbs():將圖片轉成CV_8U
  • addWeighted():將X軸和Y軸的圖片分配權重,結合在一起
  • threshold():將結合好的圖片,進行二值化
四、執行方式/畫面:


<原圖、Sobel()和GaussianBlur()處理後的圖、二值化處理後的圖>

五、參考資料:
  • http://monkeycoding.com/?p=600
  • http://monkeycoding.com/?p=632


2019年3月18日 星期一

s1051418 作業1

一、作業要求:

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

二、使用環境/語言:

  • Windows10
  • Visual Studio 2015
  • Opencv-3.4.1
  • C++
三、特殊程式片段註解:
  • 在計算像素值使用saturate_cast來防止計算出來的圖像像素值溢出
  • 使用createTrackbar來創造滑桿條
  • 一維線性變換:x’=a*x+b 本程式調整"b"去進行亮度增減之功能
四、執行方式/畫面:

  • 按F5執行->若顯示"圖像加載失敗!"請檢查:1.程式內的讀檔圖片名稱是否正確 2. 執行程式的資料夾是否有該圖檔


  • 顯示"圖像加載成功!" 將會顯示出原圖以及圖像調節之視窗
  • 本程式以255為原圖亮度、0為黑色(亮度最弱)、510白色(亮度最強)
<原圖、255亮度比較>
 <原圖、0亮度比較>
 <原圖、510亮度比較>

  • 其他亮度(100、200、300、400、500)之比較

<原圖、100亮度比較>
 <原圖、200亮度比較>
 <原圖、300亮度比較>
 <原圖、400亮度比較>
 <原圖、500亮度比較>

五、參考資料:
  • http://monkeycoding.com/?page_id=12
  • https://blog.csdn.net/keith_bb/article/details/53263641