API介绍:



#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
Mat src, dst;
int threshold_value = 38;
int threshold_max = 255;
void canny_demo(int, void*);
int main(int argc, char** argv) {
src = imread("D:/OpenCVprj/image/test3.jpg");
if (!src.data) {
printf("Coluld not load image.....
");
return -1;
}
imshow("src", src);
namedWindow("dst", CV_WINDOW_AUTOSIZE);
createTrackbar("threshold", "dst", &threshold_value, threshold_max, canny_demo);
canny_demo(0, 0);
waitKey(0);
return 0;
}
void canny_demo(int, void*) {
Mat src_gray, temp;
cvtColor(src, src_gray, COLOR_BGR2GRAY);
blur(src_gray, src_gray, Size(3, 3), Point(-1, -1));
Canny(src_gray, temp, threshold_value, threshold_value * 2, 3, true);
dst.create(src.size(), src.type());
src.copyTo(dst, temp);//第一种:A.copyTo(B),表示将A矩阵复制到B中;第二种:A.copyTo(B, mask),表示得到一个附加掩膜mask的矩阵B。
imshow("dst", dst);
}
