您的位置:首页 > 运维架构

opencv3中Canny边缘检测-Canny函数

2015-10-10 23:58 423 查看
#include<opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int g_nCurrValue = 0, g_nP = 0, g_nWay = 0;

int main()
{
Mat srcImage = imread("1.jpg");
imshow("【原图】", srcImage);

Mat grayImage;
cvtColor(srcImage, grayImage, CV_BGR2GRAY);

namedWindow("【显示窗口】", 0);
createTrackbar("Value:", "【显示窗口】", &g_nCurrValue, 255, 0);
createTrackbar("P:", "【显示窗口】", &g_nP, 100, 0);
createTrackbar("Gray/BGR", "【显示窗口】", &g_nWay, 1, 0);

Mat dstImage;
dstImage.create(grayImage.size(), grayImage.type());

char key;
Mat resImage;
while (1)
{
key = waitKey(10);

if (!g_nWay)
{
blur(grayImage, dstImage, Size(3, 3));
Canny(dstImage, dstImage, (double)g_nCurrValue, (double)((g_nCurrValue + 1) * (2 + g_nP / 100.0)), 3);
resImage = Scalar::all(0);
grayImage.copyTo(resImage, dstImage);
}
else
{
blur(srcImage, dstImage, Size(3, 3));
Canny(dstImage, dstImage, (double)g_nCurrValue, (double)((g_nCurrValue + 1) * (2 + g_nP / 100.0)), 3);
resImage = Scalar::all(0);
srcImage.copyTo(resImage, dstImage);
}
imshow("【显示窗口】", resImage);

if (key == 27)
break;
}

return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: