1
#include "opencv2/core/utility.hpp"
2
#include "opencv2/imgproc.hpp"
3
#include "opencv2/imgcodecs.hpp"
4
#include "opencv2/highgui.hpp"
12
Mat image, gray, edge, cedge;
14
// define a trackbar callback
15
static void onTrackbar(int, void*)
17
blur(gray, edge, Size(3,3));
19
// Run the edge detector on grayscale
20
Canny(edge, edge, edgeThresh, edgeThresh*3, 3);
21
cedge = Scalar::all(0);
23
image.copyTo(cedge, edge);
24
imshow("Edge map", cedge);
29
printf("\nThis sample demonstrates Canny edge detection\n"
31
" /.edge [image_name -- Default is ../data/fruits.jpg]\n\n");
36
"{help h||}{@image |../data/fruits.jpg|input image name}"
39
int main( int argc, const char** argv )
41
CommandLineParser parser(argc, argv, keys);
42
if (parser.has("help"))
47
string filename = parser.get<string>(0);
49
image = imread(filename, 1);
52
printf("Cannot read image file: %s\n", filename.c_str());
56
cedge.create(image.size(), image.type());
57
cvtColor(image, gray, COLOR_BGR2GRAY);
60
namedWindow("Edge map", 1);
63
createTrackbar("Canny threshold", "Edge map", &edgeThresh, 100, onTrackbar);
68
// Wait for a key stroke; the same function arranges events processing