**及注釋:
// 039 canny邊緣檢測 2.3版.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include
#include
using namespace cv;
/// 全域性變數
mat src, src_gray;
mat dst, detected_edges;
int edgethresh = 1;
int lowthreshold;
int const max_lowthreshold = 100;
int ratio = 3;
int kernel_size = 3;
char* window_name = "edge map";
void cannythreshold(int, void*)
int main( int argc, char** argv )
/// 建立與src同型別和大小的矩陣(dst)
dst.create( src.size(), src.type() );
/// 原影象轉換為灰度影象
cvtcolor( src, src_gray, cv_bgr2gray );
namedwindow( window_name, cv_window_autosize );
/// 建立trackbar
createtrackbar( "min threshold:", window_name, &lowthreshold, max_lowthreshold, cannythreshold );
/// 顯示影象,用於第一次沒有移動滑塊的時候
cannythreshold(0, 0);
waitkey(0);
return 0;
}執行結果:
matlab練習程式(Canny邊緣檢測)
matlab練習程式 canny邊緣檢測 我可沒直接呼叫系統函式,要是那樣就太水了。其實我的matlab 很容易就能翻譯成c c 的。canny邊緣檢測一共四個部分 1.對原影象高斯平滑 2.對高斯平滑後的影象進行sobel邊緣檢測。這裡需要求橫的和豎的還有聯合的,所以一共三個需要sobel邊緣檢測...
matlab練習程式(Canny邊緣檢測)
我可沒直接呼叫系統函式,要是那樣就太水了。其實我的matlab 很容易就能翻譯成c c 的。canny邊緣檢測一共四個部分 1.對原影象高斯平滑 2.對高斯平滑後的影象進行sobel邊緣檢測。這裡需要求橫的和豎的還有聯合的,所以一共三個需要sobel邊緣檢測影象。3.對聯合的sobel檢測影象進行非...
Canny邊緣檢測原理及C 程式實現
canny邊緣檢測是被公認的檢測效果最好的邊緣檢測方法,是由john f.canny於1986年提出,演算法目標是找出乙個最優的邊緣檢測的方法,所謂最優即 1.好的檢測 演算法能夠盡可能的標識出影象的邊緣 2.好的定位 標識出的邊緣要盡可能的與實際邊緣相接近 3.最小響應 影象中的邊緣只能標識一次,...