// ConsoleApplication3_6_23.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; Mat src,dst,gray; int pro_type = 0; char* windowName = "demo"; char* windowName1 = "demo_pro"; void Image_pro(int,void*); int _tmain(int argc, _TCHAR* argv[]) { src = imread("test.png"); if(!src.data) return -1; namedWindow(windowName,CV_WINDOW_AUTOSIZE); imshow(windowName,src); GaussianBlur(src,src,Size(3,3),0,0,BORDER_DEFAULT); cvtColor(src,gray,CV_RGB2GRAY); namedWindow(windowName1,CV_WINDOW_AUTOSIZE); createTrackbar("Type : 0-sobel 1-laplace 2-canny /n", windowName1,&pro_type,2,Image_pro); Image_pro(0,0); waitKey(0); return 0; } void Image_pro(int,void*){ Mat grd_x,grd_y; Mat abs_grd_x,abs_grd_y; Mat la_dst; switch (pro_type) { case 0 : Sobel(gray,grd_x,CV_16S,1,0,3,1,0,BORDER_DEFAULT); convertScaleAbs(grd_x,abs_grd_x); Sobel(gray,grd_y,CV_16S,0,1,3,1,0,BORDER_DEFAULT); convertScaleAbs(grd_y,abs_grd_y); addWeighted(abs_grd_x,0.5,abs_grd_y,0.5,0,dst); break; case 1: Laplacian(gray,la_dst,CV_16S,3,1,0,BORDER_DEFAULT); convertScaleAbs(la_dst,dst); break; case 2: Canny(gray,dst,20,50 * 3,3); break; default: break; } imshow(windowName1,dst); }
1、
该函数接受了以下参数:
函数接受了以下参数:
输入参数:
原文:http://blog.csdn.net/h_wlyfw/article/details/34508537