OpenCV学习笔记(一):图像显示
《WIN10+VS2015+OpenCV3.1.0配置》文章中配置好OpenCV后第一個(gè)測(cè)試程序就是顯示圖像,但是顯示圖像不止這一種方法,索性就記錄下我目前知道的其他圖像顯示方法,以便之后檢索,其中不完善之處希望讀者能夠指出。
根據(jù)百度文庫(kù)上的這篇文章,知道OpenCV上常見的有四種表示圖像的結(jié)構(gòu)。分別是CvArr,CvMat,IplImage,Mat。
CvArr
老版本的圖像表示結(jié)構(gòu)。是一個(gè)抽象基類,在函數(shù)原型中,常見到CvArr(CvArr*),這就允許把CvMar* 或者IplImage* 傳遞到程序或函數(shù)參數(shù)中了。個(gè)人覺得不是很重要,以后應(yīng)該也不會(huì)用到很多,所以不深入了解了。
CvMat
是一種用矩陣結(jié)構(gòu)來(lái)表示圖形的方式。具體詳見:http://blog.csdn.net/augusdi/article/details/8864950
IplImage
是較老版本的一種圖像類型,對(duì)圖像進(jìn)行編碼的基本結(jié)構(gòu)。這些圖像可能是灰度,彩色,4通道的(RGB+ alpha)。其中每個(gè)通道可以包含任意的整數(shù)或浮點(diǎn)數(shù)。
用法示例:
IplImage *iplImg = cvLoadImage("C:\\Users\\Public\\Pictures\\Sample Pictures\\1.jpg", 1); //最后的1表示讀取的是彩色圖片,如果需要把原圖轉(zhuǎn)換成灰白圖片的話就是0 cvShowImage("picture", iplImg); waitKey(10000); cvReleaseImage(&iplImg); cvDestroyWindow("picture");- 1
- 2
- 3
- 4
- 5
- 6
Mat
新版本中的圖像容器,是和Matlab中的函數(shù)對(duì)應(yīng)的。基本上講 Mat 是一個(gè)類,由兩個(gè)數(shù)據(jù)部分組成:矩陣頭(包含矩陣尺寸,存儲(chǔ)方法,存儲(chǔ)地址等信息)和一個(gè)指向存儲(chǔ)所有像素值的矩陣(根據(jù)所選存儲(chǔ)方法的不同矩陣可以是不同的維數(shù))的指針。矩陣頭的尺寸是常數(shù)值,但矩陣本身的尺寸會(huì)依圖像的不同而不同,通常比矩陣頭的尺寸大數(shù)個(gè)數(shù)量級(jí)。
用法示例:
Mat img = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\1.jpg"); imshow("picture", img); waitKey(10000); img.release(); cvDestroyWindow("picture");- 1
- 2
- 3
- 4
- 5
參考文獻(xiàn):?
1.?http://blog.csdn.net/wangxuwen2/article/details/51848634?
2.?http://wenku.baidu.com/link?url=ugU2DfQU-tQ8w-RC-8IMj1uWiHWPGS3brvZaGKuaUdqeHjEFIFqaCly6d2nYkoebixJo7wgxKmDARf8GESBTVqd8wh59Rpy_rvXNwYZxn_y?
3.?http://blog.csdn.net/augusdi/article/details/8864950
總結(jié)
以上是生活随笔為你收集整理的OpenCV学习笔记(一):图像显示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: caffe matio问题
- 下一篇: OpenCV学习笔记(五):Mat结构