OpenCV應用筆記

2021-05-24 13:01:00 字數 976 閱讀 2377

1、使用cvsmooth函式,src與dst的depth要一致,否則會出現raiseexception錯誤。src和dst的位深不能為64位浮點。簡單模糊和高斯模糊支援 1- 或 3-通道, 8-位元 和 32-位元 浮點影象。這兩種方法可以(in-place)方式處理影象。

2、關於直接讀取iplimage中的imagedata

當iplimage->depth =8時,可以直接使用*(image->imagedata)的方法來直接讀取iplimage中的影象陣列元素;

但當iplimage->depth !=8 時(例如64位浮點數),則不可以直接用*(image->imagedata)讀取,可用cvgetreal*d的方法來讀取。

3、cvsetdata函式必須要在header初始化後才可使用,要不然輸出的影象會發生錯位。不僅如此,由於iplimage結構中的imagedata需要有對齊的位元組,所以widthstep != width*sizeof(depth)。這一點一定要注意,否則影象也會發生錯位

4、void cvadaptivethreshold

const cvarr* src,

cvarr* dst,

double max_value,

int adaptive_method=cv_adaptive_thresh_mean_c,

int threshold_type=cv_thresh_binary,

int block_size=3,

double param1=5

);關鍵是裡面的block_size引數,該引數是決定區域性閾值的block的大小,當block很小時,如block_size=3 or 5 or 7時,「自適應」的程度很高,即容易出現block裡面的畫素值都差不多,這樣便無法二值化,而只能在邊緣等梯度大的地方實現二值化,結果顯得它是邊緣提取函式。當把block_size設為比較大的值時,如block_size=21 or 31 or 41時,cvadaptivethreshold便是二值化函式

opencv使用筆記

2015年07月08日 11 18 55 影象的幾何變換主要包括 平移 擴大與縮小 旋轉 仿射 透視等等。影象變換是建立在矩陣運算基礎上的,通過矩陣運算可以很快的找到對應關係。理解變換的原理需要理解變換的構造方法以及矩陣的運算方法,曾經寫過matlab下的簡單影象變換原理,裡面有最基礎的構造原理可以...

Opencv使用筆記

opencv 2.x,返回,contours,hierachy opencv 3.x 返回 image,contours,hierachy,contours是個list,每個是乙個shape為 nx2 的輪廓,n為輪廓點個數2為x,y值,2.warpaffine 使用三個點,如引數點數多與3個,那麼...

session應用筆記

session start 開始session會話處理 session只要用到這個,就必須開啟session start 放在檔案開頭 建立session,直接採用超級全域性變數賦值即可 session是存在伺服器端,一般存放1440秒,如果網頁沒有任何操作,會自動銷毀,當然,可以通過php.ini...