OpenCV學習筆記(2)邊緣檢測與滑動條的建立

2021-07-02 07:35:33 字數 1271 閱讀 4631

#include "stdafx.h"

#include"opencv2/opencv.hpp"

#include using namespace cv;

using namespace std;

mat img, gray, edge, cedge;

int edgethresh = 1;

const char * keys = " };

static void help()

static void ontrackbar(int, void*)

int main(int argc, const char** argv)

cvtcolor(img, gray, cv_bgr2gray);

namedwindow("edge img", 1);

createtrackbar("canny", "edge img", &edgethresh, 100, ontrackbar);

ontrackbar(0, 0);

waitkey(0);

return 0;

}

commandlineparser的類

好像在opencv的c

版本中,應該是

opencv1.0

以前,還沒有出現

commandlineparser

這個類,最近看到

opencv2.

3後面的版本裡自帶的

samples

,很多都用到了

commandlineparser

這個類,那麼這個類到底有什麼作用呢,從命名大概可以猜出這是個命令列解析類。因為我們知道

opencv

是乙個開源庫,所以其很少有圖形操作方面的

api,基本上還是基於命令列執行的。那麼這個類的出現主要是方便使用者在命令列使用過程中減少工作量,

可以在程式檔案中直接指定命令列中的引數指令,方便了除錯。

第一行就是這個類的建構函式,前

2個引數是命令列傳過來的,第

3個就是剛剛定義的

keys

了,keys

的結構有一定規律,比如說

""都是用大括號和雙引號引起來,然後中間的內容分成

4斷,用

」|」分隔開,分別表示簡稱,檔案**,檔案值和幫助語句。第二行和第三行表示開啟攝像頭和開啟檔案,檔案的檔名等都在

keys

指標中了。

opencv學習筆記2 邊緣檢測

總結 roberts運算元檢測方法對具有陡峭的低雜訊的影象處理效果較好,但是利用 roberts 運算元提取邊緣的結果是邊緣比較粗,因此邊緣的定位不是很準確。sobel運算元檢測方法對灰度漸變和雜訊較多的影象處理效果較好,sobel 運算元對邊緣定位不是很準確,影象的邊緣不止乙個畫素。prewitt...

OpenCV學習筆記 6 邊緣檢測筆記

void roberts inputarray src,outputarray dst,int ddepth,int x 1,int y 0,int bordertype border default void conv2d inputarray src,inputarray kernel,outp...

OpenCV學習筆記(十三)邊緣檢測

邊緣檢測 邊緣檢測運算元有很多,sobel laplace prewitt canny marr hildresh。sobel運算元 sobel運算元是主要用於邊緣檢測的離散微分運算元,它結合了高斯平滑和微分求導,用於計算影象灰度函式的近似梯度。void sobel inputarray src,o...