本例利用3*3的Sobel算子对g11实施图象锐化
Sobel算子使用两个3*3的矩阵算子使用两个3*3的矩阵去和原始图片作卷积,分别得到横向G(x)和纵向G(y)的
//Sobel算子 Mat getSobel(Mat &Image) { Mat dst_x, dst_y, dst; Sobel(Image, dst_x, CV_16S,1, 0, 3,1,1,BORDER_DEFAULT); convertScaleAbs(dst_x, dst_x); imshow("对X方向求导【效果图】", dst_x); Sobel(Image, dst_y, CV_16S,0, 1, 3,1,1, BORDER_DEFAULT); convertScaleAbs(dst_y, dst_y); imshow("对Y方向求导【效果图】", dst_y); addWeighted( dst_x, 0.5, dst_y, 0.5, 0, dst); return dst; } int main() { Mat srcImage_2 = imread("g14.tif"); namedWindow("【原始图】", 1); imshow("【原始图】", srcImage_2); /*********************对图像进行Sobel算子***************************/ Mat showImage, showImage_1; showImage=getSobel(srcImage_2); imshow("Sobel算子【均鞭】", showImage); }
梯度值,如果梯度值大于某一个阈值,则认为该点为边缘点。
效果图如下(这里我们直接显示x方向求偏导和对y方向上求的偏导的像素值)