2022年3月23日 星期三

s1081526 作業3

 1.開發環境:

opencv:4.5.5

windows10

visual studio 2019,c++


2.作業說明:

(1)使用sobel運算子,分別製作x方向的邊緣提取和y方向的邊緣提取。我強度皆選擇3,因為我覺得這樣出來的結果最有素描感。接著再使用addWeighted()將兩張圖合在一起就能得到完整的邊緣提取。

x軸邊緣提取與y軸邊緣提取


兩者合成完整的邊緣提取

(2)第一題最後得到的圖會是黑底白邊,要像素描一樣的話就是把圖轉換成白底黑邊。我是遍歷每個像素,用255減掉那個像素的值,因為這樣就可以把黑與白的顏色調換過來。

例:255-255(黑)=0(白);255-0(白)=255(黑)。介於中間的灰色也是同理,原本偏白的灰色就會變得偏黑等等...。

不過因為像素中的值是uchar,用225去減會溢位,所以也要用上saturate_cast來防止溢位。

黑轉白白轉黑


沒有留言:

張貼留言