您当前的位置: 首页 >  opencv

txwtech

暂无认证

  • 0浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

OpenCV19_laplance拉普拉斯算子_边缘检测_提取边缘

txwtech 发布时间:2021-04-14 21:35:35 ,浏览量:0

/*cv19 by txwtech 一、laplance拉普拉斯算子_边缘检测

在二阶导数的时候,最大变化处的值为零即边缘是零值。通过二阶导数计算,依据此理论我们可以计算图像二阶导数,提取边缘。 定义: void cv::Laplacian  (   InputArray      src, OutputArray     dst, int     ddepth, int     ksize = 1, double      scale = 1, double      delta = 0, int     borderType = BORDER_DEFAULT ) 二、处理流程 1、高斯模糊——去噪声GaussianBlur() 2、转换为灰度图像cvtColor() 3、拉普拉斯——二阶导数计算Laplacian() 4、取绝对值convertScaleAbs() 5、二值化

*/

/*cv19
by txwtech
一、laplance拉普拉斯算子_边缘检测

在二阶导数的时候,最大变化处的值为零即边缘是零值。通过二阶导数计算,依据此理论我们可以计算图像二阶导数,提取边缘。
定义:
void cv::Laplacian  (   InputArray      src,
OutputArray     dst,
int     ddepth,
int     ksize = 1,
double      scale = 1,
double      delta = 0,
int     borderType = BORDER_DEFAULT
)
二、处理流程
1、高斯模糊——去噪声GaussianBlur()
2、转换为灰度图像cvtColor()
3、拉普拉斯——二阶导数计算Laplacian()
4、取绝对值convertScaleAbs()
5、二值化

*/
#include 
#include 
using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
	Mat src;
	src = imread("e:\\pictures\\荷花1.jpg",CV_LOAD_IMAGE_COLOR);
	if (!src.data)
	{
		printf("failed to load image");
	}
	namedWindow("原图",CV_WINDOW_AUTOSIZE);
	imshow("原图",src);

	Mat gray_src;
	Mat dst;
	Mat dst_edge_img;
	//高斯模糊
	GaussianBlur(src,dst,Size(3,3),0,0);
	//转灰度图像
	cvtColor(dst,gray_src,CV_BGR2GRAY);
	//拉普拉斯变换
	Laplacian(gray_src,dst_edge_img,CV_16S,3);
	//计算图像A的像素绝对值
	convertScaleAbs(dst_edge_img, dst_edge_img);
	// 二值化处理
	threshold(dst_edge_img, dst_edge_img,0,255,THRESH_OTSU|THRESH_BINARY);

	imshow("拉普拉斯边缘检测",dst_edge_img);
	waitKey(0);
	return 0;
}

 

关注
打赏
1665060526
查看更多评论
立即登录/注册

微信扫码登录

2.4254s