openCV中sobel边缘增强
生活随笔
收集整理的這篇文章主要介紹了
openCV中sobel边缘增强
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sobel算子是一個單邊緣檢測算子,具有方向性。將兩個方向疊加后可對圖像的邊緣進行增強,代碼如下
void SobelEnhance(const Mat src, Mat& dst) {Mat sobelx(src.size(), CV_16SC1);///邊緣檢測后,會有負值,也會有大于255的值,因此類型設為CV_16SC1有符號類型Mat sobely(src.size(), CV_16SC1);Mat img_edgeFiltex(src.size(), CV_8UC1);///結果圖,類型設為CV_8UC1進行閾值截斷Mat img_edgeFiltey(src.size(), CV_8UC1);Sobel(src, sobelx, CV_16SC1, 1, 0, 3);convertScaleAbs(sobelx, img_edgeFiltex);Sobel(src, sobely, CV_16SC1, 0, 1, 3);convertScaleAbs(sobely, img_edgeFiltey);///像素加權addWeighted(img_edgeFiltex, 1, img_edgeFiltey, 1, 0, dst); } void convertScaleAbs(InputArray src, OutputArray dst,double alpha = 1, double beta = 0);src,dst為Mat類;
alpha 為scale factor:縮放系數
beta :加到結果圖像上的值
alpha:src1系數,
beta:src2系數
gamma:加到結果圖的值
dst= src1* alpha + src2* beta+ gamma
總結
以上是生活随笔為你收集整理的openCV中sobel边缘增强的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统计学基础——方差、协方差、标准差(标准
- 下一篇: java libmp3lame_录制MP