2、 矩陣資料型別:
通用矩陣資料型別: cv_(s|u|f)c
其中, s = 符號整型
u = 無符號整型
f = 浮點型
e.g.: cv_8uc1 是指乙個8位無符號整型單通道矩陣,
cv_32fc2是指乙個32位浮點型雙通道矩陣。
3、 影象資料型別:
通用影象資料型別:ipl_depth_(s|u|f)
e.g.: ipl_depth_8u 影象畫素資料是8位無符號整型。
ipl_depth_32f影象畫素資料是32位浮點型。
4、 標頭檔案:
#include
#include
#include
#include
#include // 一般不需要,cv.h 內已包含該標頭檔案
二、範例演示+相關函式分析
1、第乙個程式:顯示影象
【**】:
#include "stdafx.h"
#include "cv.h" //opencv的基本函式標頭檔案
#include "highgui.h" //opencv的影象顯示函式的標頭檔案
#include "cxcore.h"
int main(int argc, char* argv)
【注意】:要對link進行配置,否則會編譯不通過【project】->【settings】->【link】,在object/library/modules中新增:
cv.lib highgui.lib cxcore.lib
【函式分析】:
(1)cvloadimage
1) 函式原型:iplimage* cvloadimage( const char* filename, int flags=cv_load_image_color );
filename :要被讀入的檔案的檔名(包括字尾);
flags :指定讀入影象的
顏色和#define cv_load_image_unchanged -1 /* 影象顏色不變 */
#define cv_load_image_grayscale 0 /*灰度影象(單通道) */
#define cv_load_image_color 1 /* 彩色影象(3通道影象) */
選中cv_load_image_anydepth,則輸入影象格式可以為8位無符號,16位無符號,32位有符號或者32位浮點型。
#define cv_load_image_anydepth 2
#define cv_load_image_anycolor 4 /* 保持原樣 */
如果想要載入最真實的影象,選擇cv_load_image_anydepth | cv_load_image_anycolor
如果輸入有衝突的標誌,將採用較小的數字值。比如cv_load_image_grayscale | cv_load_image_color將載入單通道圖。
2)cvloadimage的功能
通過檔名確定被載入影象的格式,並且該函式在內部分配影象資料結構所需要的記憶體空間。
支援的影象格式:bmp,dib,jpeg,jpe,png,pbm,pgm,ppm,sr,ras,tiff。
(2)cvnamedwindow
函式原型:int cvnamedwindow( const char* name, int flags=cv_window_autosize );
name:視窗的標誌。如果已經有同名視窗,則該函式什麼也不幹。
flags:cv_window_autosize ,會根據影象大小自動調整視窗大小。如果是0,則視窗大小不變。
(3)cvshowimage
函式原型:void cvshowimage( const char* name, const cvarr* image );
name:視窗的標誌。這個標誌是cvnamedwindow函式設定的。
image:被顯示的影象。
功能:函式cvshowimage 在指定視窗中顯示影象。如果視窗建立的時候被設定標誌cv_window_autosize,那麼影象將以原始尺寸顯示; 否則,影象將被伸縮以適合視窗大小
(4)cvwaitkey
int cvwaitkey(int key)
key:如果key的值是大於0的數,那麼該函式的功能是,在此處暫停key毫秒。如果是小於等於0的數,那麼,該函式是在等待使用者的按鍵輸入。
(5)cvreleaseimage(iplimage** src)釋放影象空間。例:cvreleaseimage(&src);
(6) cvdestroywindow(char* name)
登出乙個視窗。同時釋放為該視窗所分配的所有記憶體(包括視窗內部的影象記憶體緩衝區)
【執行結果】
OpenCV命名規則
opencv使用近似匈牙利命名法的方法,比較值得一提的特色是 它的資料結構幾乎都是大寫的cv開頭,而它提供的函式都是小寫的cv,舉個例子 cvsize imagesize cvsize 400,300 cvsize width,height imagesize的型別是cvsize,通過cvsize ...
OpenCV命名規則
opencv使用近似匈牙利命名法的方法,比較值得一提的特色是 它的資料結構幾乎都是大寫的cv開頭,而它提供的函式都是小寫的cv,舉個例子 cvsize imagesize cvsize 400,300 cvsize width,height imagesize的型別是cvsize,通過cvsize ...
《學習OpenCV》 初探OpenCV(三)
引數1 影象 引數2 矩形的乙個頂點 引數3 矩形另乙個頂點 引數4 線條顏色 rgb 或亮度 灰度影象 可省略 有過載函式 引數5 線條粗細程度,取cv filled表填充色彩矩陣 引數6 線條型別 引數7 座標點的小數 cvmat cvcreatemat int rows,int cols,in...