OpenCV學習筆記

2021-09-29 09:54:03 字數 2095 閱讀 2989

檢視opencv的版本:pkg-config --modversion opencv

opencv官方使用手冊

根據配對點的畫素座標(齊次座標)求基礎矩陣f,若配對點是歸一化座標,則求得是本質矩陣e

mat findfundamentalmat

(inputarray points1, inputarray points2,

int method=fm_ransac,

double param1=3.,

double

param2=

0.99

, outputarray mask=

noarray()

)

使用ransac演算法根據2d-3d點對,計算出物體位姿,返回twc

t^c_w

twc​

(使座標點從世界座標系旋轉到相機座標系)

void

solvepnpransac

(inputarray objectpoints, inputarray imagepoints, inputarray cameramatrix, inputarray

distcoeffs, outputarray rvec, outputarray tvec,

bool useextrinsicguess=

false

,int iterationscount=

100,

float

reprojectionerror=

8.0,

int mininlierscount=

100, outputarray inliers=

noarray()

,int flags=iterative )

clone 是完全的深拷貝,在記憶體中申請新的空間;copyto 也是深拷貝,但是否申請新的記憶體空間,取決於dst矩陣頭中的大小資訊是否與src一至,若一致則只深拷貝並覆蓋掉原資料,並不申請新的空間,否則先申請空間後再進行拷貝.

使用fast演算法檢測角點

void cv::fast	(	inputarray 	image,	std::vector< keypoint >

& keypoints,

int threshold,

bool nonmaxsuppression =

true

)

角點檢測

void cv::

goodfeaturestotrack

(cv::inputarray image, cv::outputarray corners,

int maxcorners,

double qualitylevel,

double mindistance, cv::inputarray mask =

noarray()

,int blocksize =3,

bool useharrisdetector =

false

,double k =

0.04

);

src.

convertto

(dst, type, scale, shift)

mat::eye (

int rows,

int cols,

int type)

//提取第1到3列(不包括3)

mat b =

a(range::

all(),

range(1

,3))

;

void

triangulatepoints

(inputarray projmatr1, inputarray projmatr2, inputarray projpoints1, inputarray projpoints2, outputarray points4d)

opencv學習筆記

總的來說,我們學習影象處理的就是從vs和opencv開始的。而在之前的學習中,我們使用了前人的通過或攝像頭的人臉識別 並順利執行了程式。順理成章地,接下來的階段就是將這些 給 吃透 理解並吸收,掌握其中的知識。下面就是今天對於 中幾個重要組成部分的學習心得總結。一 命名空間 using namesp...

openCV學習筆記

1 imread函式 mat imread const string filename,intflags 1 mat image0 imread dota.jpg cv load image anydepth cv load image anycolor 載入最真實的影象 ge1 imread do...

OpenCV學習筆記

初次學習計算機視覺,接觸到了opencv這個開源的計算機視覺庫,現在開始逐漸整理學習過程中自己遇到的最基本東西,因為自己比較笨,所以便把自己在學習中遇到的各種奇葩簡單問題都一一記錄下來,希望對初學的你有所幫助。大佬就忽略我的存在吧。1.什麼是命名空間?using namespace cv 在寫 的時...