opencv学习小结(8)- 利用索贝尔分子进行图像锐化

本例利用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方向上求的偏导的像素值)

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

19 + 3 =