欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

openCV:拉普拉斯(Laplance)算子

程序员文章站 2022-07-14 15:14:19
...
#include <iostream>  
#include<opencv2/opencv.hpp>
#include "math.h"  

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
	Mat src,dst;//初始化一个操作对象
	src = imread("C:/Users/JAY/Desktop/Others/lena.jpg");
	if (!src.data)//判断图片是否加载进来
	{
		cout << "不能加载图片" << endl;
		return -1;
	}
	namedWindow("加载的图片", WINDOW_AUTOSIZE);
	imshow("加载的图片", src);//""内命名一致,才能显示在一个窗口

	Mat gray_src, laplance;
	GaussianBlur(src, dst, Size(3, 3),0,0,4);//高斯模糊 – 去噪声
	cvtColor(dst, gray_src, CV_BGR2GRAY);//转换为灰度图像
	Laplacian(gray_src, laplance, CV_16S, 3);//拉普拉斯 – 二阶导数计算
	convertScaleAbs(laplance, laplance);//取绝对值

	threshold(laplance, laplance, 0, 255, THRESH_OTSU | THRESH_BINARY);//进一步处理,设定阈值

	imshow("拉普拉斯算子结果图", laplance);


	waitKey(0);
	return 0;
}

结果

 

openCV:拉普拉斯(Laplance)算子