sobel算子简单示例

#include <iostream>
#include <opencv2/opencv.hpp>

#define  window1 "【原图】"
#define  window2 "【效果图1】"
#define  window3 "【效果图2】"
using namespace cv;
using namespace std;




//sobel算子简单示例。
int main()
{
	//1.原图像。
	Mat src = imread("水果图.jpg");
	//resize(src, src, Size(), 0.4, 0.4);
	imshow(window1,src);
	//2.x方向。
	Mat sobel_x;
	Sobel(src,sobel_x,CV_64F,1,0,3,1,1,BORDER_DEFAULT);
	convertScaleAbs(sobel_x,sobel_x);//计算模,并转换为八位图。
	imshow("x",sobel_x);

	//3.y方向sobel
	Mat sobel_y;
	Sobel(src,sobel_y,CV_64F,0,1,3,1,1,BORDER_DEFAULT);
	convertScaleAbs(sobel_y, sobel_y);
	imshow("y",sobel_y);
	//4.综合。(近似)
	Mat comb_xy;
	addWeighted(sobel_x,0.5,sobel_y,0.5,0,comb_xy);
	imshow("comb",comb_xy);

	waitKey(0);
	return 0;

}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了138 篇原创文章 · 获赞 5 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章