Laplace增强算子法
Laplace算子是线性二阶微分算子
对于离散的图像而言,二阶偏导数可用二阶差分近似
Laplace增强:
void CMFCworkDlg::OnBnClickedButton5()
{
// TODO: 在此添加控件通知处理程序代码
//laplace增强
Mat image = imread("ema.jpg", 1);
Mat image_gray = gray_img(image);
Mat result, laplaceimg;
result.create(image.size(), CV_8UC1);
laplaceimg.create(image.size(), CV_8UC1);
for (int i = 1; i < image_gray.rows-1; i++)
{
for (int j = 1; j < image_gray.cols-1; j++)
{
result.at<uchar>(i, j) = saturate_cast<uchar>(5 * image_gray.at<uchar>(i, j) - image_gray.at<uchar>(i + 1, j) - image_gray.at<uchar>(i - 1, j)- image_gray.at<uchar>(i, j+1)- image_gray.at<uchar>(i, j-1));
laplaceimg.at<uchar>(i, j) = saturate_cast<uchar>(image_gray.at<uchar>(i+1, j)+ image_gray.at<uchar>(i-1, j)+ image_gray.at<uchar>(i, j+1)+ image_gray.at<uchar>(i, j-1)-4* image_gray.at<uchar>(i, j));
}
}
imshow("laplace增强", result);
imshow("laplace算子", laplaceimg);
waitKey(0);
}