在彩色图上进行边缘检测
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
//原图,原图的灰度,目标图
Mat g_srcImage, g_srcGrayImage,g_dstImage;
//Canny边缘检测相关变量
Mat g_cannyDetectedEdges;
int g_cannyLowThreshold=1;//TrackBar位置参数
static void ShowHelpText( );
static void on_Canny(int, void*);//Canny边缘检测窗口滚动条的回调函数
int main( int argc, char** argv )
{
//改变console字体颜色
system("color 2F");
//载入原图
g_srcImage = imread("芷若.png");
if( !g_srcImage.data ) { printf("Oh,no,读取srcImage错误~! \n"); return false; }
//显示原始图
namedWindow("【原始图】",WINDOW_NORMAL);
imshow("【原始图】", g_srcImage);
// 创建与src同类型和大小的矩阵(dst)
g_dstImage.create( g_srcImage.size(), g_srcImage.type() );
// 将原图像转换为灰度图像
cvtColor( g_srcImage, g_srcGrayImage, CV_BGR2GRAY );
// 创建trackbar
namedWindow("【效果图】Canny边缘检测",WINDOW_NORMAL);
createTrackbar( "参数值