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來防止溢位。
黑轉白白轉黑
沒有留言:
張貼留言