在c版本中,定義乙個視窗時用cvnamedwindow.
比如說cvnamedwindow(「src」,0);後面的引數為0表示視窗大小可以手動改變,否則視窗的大小是自適應大小的。
而在c++版本中定義乙個視窗用namedwindow.
比如說namedwindow(「src」,1);不管後面第二個引數是多少,都不能手動更改視窗的大小,因為它的尺寸是根據大小自動生成的。
並且要看到手動調整視窗大小的效果,還需要配合cvshowimage(「src」,img);
也就是說如果後面顯示用c++版本的imshow(「src」,img);也是看不到手動調整大小的效果的。
在opencv的c版本中,顯示用cvshowimage;
比如說,cvshowimage(「src」,img);
並且這裡的img是iplimage*型別,所以如果你定義的img是mat型別的話就用不了,因為程式不能自動將mat型別轉換成iplimage*型別。
在opencv的c++版本中,顯示用的是imshow;
比如說,imshow(「src」,img);
當然這裡的img就是mat型別了。也就是說如果這裡的img用iplimage*就不行了,程式不能自動將iplimage*轉換成mat型別。
通過上面2點應該注意到,如果要手動改變的尺寸,就必須cvnamedwidow(「src」,0);
cvshowimage(「src」,img)一起用。其中img是iplimage*型別。
當然cvnamedwindow(「src」,0)也可以和imshow(「src」,img)一起用,其中img是mat型別,但是這樣達不到自動改變視窗大小的目的。
因為一般情況下,namedwindow(「src」,1)和imshow(「src」,img)一起用的。
[cpp]view plain
copy
下面來看看iplimage結構體內部:
intnsize
intid
intnchannels
intalphachannel
intdepth
char
colormodel [4]
char
channelseq [4]
intdataorder
intorigin
intalign
intwidth
intheight
struct
_iplroi * roi
struct
_iplimage * maskroi
void
* imageid
struct
_ipltileinfo * tileinfo
intimagesize
char
* imagedata
intwidthstep
intbordermode [4]
intborderconst [4]
char
* imagedataorigin
而mat結構體包含乙個mat頭部(頭部中記錄的是矩陣的大小,儲存方式等等)和乙個指向矩陣的指標。所以2者還是有很大區別的,所以說程式不能自動將他們轉換是有原因的,因為mat結構更加複雜。
在c版本中讀取用的是cvloadimage;
比如說cvloadimage(「lena.jpg」);
在c++版本中,讀取用的是imread;
比如說imread(「lena.jpg」);
當然這2種的lena都是放入工程目錄下的。
但是這裡有一點非常不同的是,cvloadimage()中的引數為const char*型別,而imread()中的引數是const &string型,這兩種是完全不同的,在opencv中也不能自動轉換好他們,混合使用c和c++函式一起編寫opencv**時要小心。
在c版本中路徑之間用2個雙右斜線,即」\\」。用1個斜線」\」會報錯。
在c++版本中路徑之間用1個或者2個甚至更多個斜線都是可以的。
OpenCV學習記錄(C 版本)
影象的載入 imread 函式 mat imread const string filename,int flag 1 其中flag 1代表讀入rgb彩色影象,1表示讀取原始影象,0表示讀取灰度圖 todo 影象的顯示 imshow 函式 改變視窗大小 imshow時改變視窗大小,screensho...
c 中的Debug版本和Release版本的區別
今天看visual c 2012 入門經典,書上描述 debug版本包括幫助使用者除錯程式的資訊,使用程式的debug版本,可以在出現問題時單步執行 以檢查程式中的資料值。release版本它不包括除錯資訊,但開啟了編譯器的 優化選項,以提供最高效的可執行模組。在使用除錯配置測試過應用程式,且看起來...
C 中的版本說明
assembly assemblyversion 1.1.assembly assemblyfileversion 1.0.0.0 assembly assemblyinformationalversion 1.2.1.0 用來定義 product version assemblyversion 儲...