Opencv3入門學習筆記

2021-09-26 01:41:42 字數 1618 閱讀 8303

最近在學習opencv3,屬於零基礎小白,此篇記錄一些在書中見到的函式,用於後來學習

一、影象的載入與顯示

c++: mat imread(const string& filename, intflags=1 );

flags >0返回乙個3通道的彩色影象

flags =0返回灰度影象。

flags <0返回包含alpha通道的載入的影象。

c++: void namedwindow(const string& winname,int flags=window_autosize );

window_normal設定了這個值,使用者便可以改變視窗的大小(沒有限制)

window_autosize如果設定了這個值,視窗大小會自動調整以適應所顯示的影象,並且不能手動改變視窗大小。

window_opengl 如果設定了這個值的話,視窗建立的時候便會支援opengl

c++: void imshow(const string& winname, inputarray mat);

c++: bool imwrite(const string& filename,inputarray img, const vector& params=vector() );

二、設定感興趣區域–roi

mat imageroi=image(rect(500,250,logo.cols,logo.rows));

void addweighted(inputarray src1, double alpha, inputarray src2, double beta, double gamma, outputarray dst, int dtype=-1);

三、顏色通道分離和混合

c++: void split(inputarray m,outputarrayofarrays mv);

c++: void merge(inputarrayofarrays mv,outputarray dst)

四、建立trackbar & 影象對比度、亮度值調整

c++: int createtrackbar(conststring& trackbarname, conststring& winname,

int* value, int count, trackbarcallback onchange=0,void* userdata=0);

五、線性鄰域濾波專場:方框濾波、均值濾波與高斯濾波

c++: void boxfilter(inputarray src,outputarray dst, int ddepth, size ksize, point anchor=point(-1,-1), boolnormalize=true, int bordertype=border_default )

c++: void blur(inputarray src, outputarraydst, size ksize, point anchor=point(-1,-1), int bordertype=border_default )

c++: void gaussianblur(inputarray src,outputarray dst, size ksize, double sigmax, double sigmay=0, intbordertype=border_default )

《Open CV3程式設計入門》學習筆記12

標準霍夫變換 針對影象中非零畫素點,通過在極座標下對極徑極角平面繪出所有通過該點的直線,將得到一條正弦曲線。然後對影象中所有非零點進行上述操作,得到所有正弦曲線並繪製在同一平面內,越多曲線交於一點,說明該點 所代表的直線交於影象中的更多的非零點,當這些曲線數超過設定的閾值時,即認為檢測到了一條直線。...

《OpenCV3程式設計入門》筆記二

採用hsv和hls把顏色分解成色調 飽和度和亮度 明度。這是描述顏色更自然,比如可以通過拋棄最後乙個元素,使演算法對輸入影象的光照條件不敏感。另一種使演算法對輸入影象的光照條件不敏感的方法是採用動態範圍較大的相機。錯誤位置 2.方法二 在c c 中通過建構函式進行初始化 int sz 3 mat l...

opencv3程式設計入門

今天進行了簡單的影象修補 影象修補.cpp 先對影象進行破壞,然後進行修補 include stdafx.h include include include includeusing namespace std using namespace cv define win name1 原始圖 defi...