示例程式032 Canny邊緣檢測(2 3版)

2021-08-14 18:14:59 字數 1235 閱讀 7388

**及注釋:

// 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.最小響應 影象中的邊緣只能標識一次,...