这次记录下拉普拉斯锐化是如何增强图像的,首先介绍什么是拉普拉斯锐化?
对于二维图像公式:
从中可以看出是梯度的公式,那么扩展开表示为:
最终拉普拉斯变化的表达式为:
最后的锐化公式为:
其中,g是输出,f为原始图像,c是系数,表示细节权重。
下图为拉普拉斯锐化的效果:
原始图像:
锐化图像:
可以看出,亮度增强了很多,尤其是纹理复杂的区域。
参考代码:
Mat image = imread("../seq/test1.jpg");if (image.empty()) {std::cout << "打开图像失败,请检查路径" << std::endl;return;}imshow("image", image);Mat imageBf;bilateralFilter(image, imageBf, 5, 10, 10);//双边滤波Mat imageEnhance;Mat kernel = (Mat_<float>(3, 3) << 0, -1, 0, 0, 5, 0, 0, -1, 0);filter2D(imageBf, imageEnhance, CV_8UC3, kernel);imshow("拉普拉斯图像增强效果", imageEnhance);imshow("拉普拉斯锐化", image);imwrite("../seq/拉普拉斯锐化.png", imageEnhance);waitKey();
如有问题,欢迎留言,转载请标明出处!