您的位置:首页 > 编程语言 > C语言/C++

C/C++ OpenCV之Scharr边缘检测

2017-01-10 17:23 267 查看
计算图像差分Scharr()函数

void Scharr(

inputArray src,

outputArray dst,

int deepth,

int dx,

int dy,

double scale=1,

double delta=0,

int borderType=BORDER_DEFAULT

)

Scharr边缘检测

x和y方向的图像差分

下面是代码:

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;

int main()
{
Mat src = imread("1.jpg");
namedWindow("原图");
imshow("原图", src);

//x方向
Mat grad_x;
Scharr(src, grad_x, CV_8U, 1, 0, 1, 0, BORDER_DEFAULT);
namedWindow("x方向");
imshow("x方向", grad_x);

//y方向
Mat grad_y;
Scharr(src, grad_y, CV_8U, 0, 1, 1, 0, BORDER_DEFAULT);
namedWindow("y方向");
imshow("y方向", grad_y);

//x+y方向
Mat dst;
addWeighted(grad_x, 0.5, grad_y, 0.5, 0, dst);
namedWindow("x+y");
imshow("x+y", dst);

waitKey();

return 0;
}

运行结果:



可见x方向,竖直检查比较好

y方向,横轴检查比较好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv
相关文章推荐