使用二阶微分实现图像锐化

来源:互联网 发布:杨子的淘宝店铺链接 编辑:程序博客网 时间:2024/06/06 03:27

锐化处理的主要目的是突出灰度过渡部分。理论上来说可以通过空间微分来实现锐化处理,通过图像微分增强边缘和其他突变(如噪声),削弱灰度变化缓慢的区域。

 

g(x,y)是变换之后的图像,c=-1,  后面的公式则是拉普拉斯算子,即微分滤波器

#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){Mat img=imread("1.jpg",0);if(!img.data){        return -1;}Mat image;img.copyTo(image);for (int i = 1; i < img.rows-1; i++){uchar* imgpreptr=img.ptr(i-1);uchar* imgptr=img.ptr(i);uchar* imgnextptr=img.ptr(i+1);uchar* imageptr=image.ptr(i);for (int j = 1; j < img.cols-1; j++){imageptr[j]=imgptr[j]+imgpreptr[j]+imgptr[j-1]+imgptr[j]*(-4)+imgptr[j+1]+imgnextptr[j];}}imshow("原图",img);imshow("锐化处理",image);waitKey(0);return 0;}