日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

FW:看程序?qū)WOpenCV(1)

 quasiceo 2016-01-18

OpenCV模塊

  • cv – 核心函數(shù)庫(kù)
  • cvaux – 輔助函數(shù)庫(kù)
  • cxcore – 數(shù)據(jù)結(jié)構(gòu)與線性代數(shù)庫(kù)
  • highgui – GUI函數(shù)庫(kù)
  • ml – 機(jī)器學(xué)習(xí)函數(shù)庫(kù)
  • OpenCV中的彩色圖像不是以RGB的順序存放的,而是BGR,所以程序中的outputImage.at<Vec3b>(i,j)[0]代表的是該點(diǎn)的B分量。同理還有(*it)[0]。

看程序?qū)WOpenCV(1)

http://hi.baidu.com/ihsauqaxblbdmwq/item/4643391b7a25be6870d5e869

1、顯示一副圖片
====================================================

#include <cv.h>

#include <highgui.h>

#include <cxcore.h>

int main(int argc, char** argv)
{
IplImage *img=cvLoadImage(argv[1]);//用cvLoadImage函數(shù)加載一副圖片,返回類型為IplImage*
cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);//用cvNamedWindow函數(shù)新建一個(gè)名為Example1的窗口,其大小根據(jù)圖片的大小而定
cvShowImage("Example1",img);//用cvShowImage函數(shù)在窗口Example1中顯示img
cvWaitKey(0);//用cvWaitKey函數(shù)來(lái)讓程序等待無(wú)限期時(shí)間,直到有鍵按下
cvReleaseImage(&img);//用cvReleaseImage函數(shù)釋放img所占的內(nèi)存空間
cvDestroyWindow("Example1");//用cvDestroyWindow函數(shù)來(lái)銷毀窗口Example1
return 0;//程序結(jié)束,返回0
}
需要記?。?br> 1、用cvLoadImage來(lái)加載一副圖片,返回類型為IplImage*類型
2、用cvNamedWindow來(lái)創(chuàng)建一個(gè)窗口,通常其窗口大小和顯示圖片大小一致即可
3、用cvShowImage來(lái)在一個(gè)窗口中顯示一個(gè)圖片(IplImage*類型的變量)
4、用cvWaitKey來(lái)讓程序停止執(zhí)行一段時(shí)間,若參數(shù)為0,則無(wú)限期停止,直到有鍵盤響應(yīng)
5、用cvReleaseImage來(lái)釋放一副圖片所占的內(nèi)存,其參數(shù)為IplImage*類型變量的內(nèi)存地址
6、用cvDestroyWindow來(lái)銷毀一個(gè)窗口,其參數(shù)為用cvNamedWindow創(chuàng)建窗口時(shí)的窗口名

2、顯示一個(gè)AVI文件
======================================================

#include <cv.h>

#include <highgui.h>

#include <cxcore.h>

int main(int argc, char **argv)
{
cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);//用cvNamedWindow函數(shù)來(lái)創(chuàng)建一個(gè)名為Example2的窗口,其大小和顯示圖片的大小一致
CvCapture *capture=cvCreateFileCapture(argv[1]);//用cvCreateFileCapture函數(shù)將AVI文件的各幀讀入到CvCapture*類型的變量里面
IplImage *frame;//AVI文件的每幀都為一副圖片,因此需要定義一個(gè)IplImage*類型的變量來(lái)保存各幀的內(nèi)容
while(1)
{
frame=cvQueryFrame(capture);//從CvCapture*類型的變量中取出一幀存放到frame中
if(!frame) break;//如果CvCapture*類型的變量中已經(jīng)沒(méi)有幀了,則frame為空
cvShowImage("Example2",frame);//用cvShowImage函數(shù)在窗口Example2中顯示讀入的一幀frame
char c=cvWaitKey(33);//暫停33毫秒,如果期間有鍵盤響應(yīng),則返回按鍵的ASCII值到c中
if(c==27) break;//如果按鍵是Esc鍵,那么退出循環(huán),就是停止播放AVI視頻文件
}
cvReleaseCapture(&capture);//用cvReleaseCapture函數(shù)來(lái)釋放CvCapture*類型變量所占的內(nèi)存
cvDestroyWindow("Example2");//用cvDestroyWindow函數(shù)來(lái)銷毀窗口Example2
}
特殊說(shuō)明:用cvQueryFrame獲得幀圖片frame不能用cvReleaseImage來(lái)釋放,否則將造成不可想象的后果。
需要記?。?br> 1、用cvCreateFileCapture來(lái)讀入AVI文件,并將其內(nèi)容的變量地址返回一個(gè)CvCapture*類型的變量;如果capture為空,則AVI文件讀取失敗,多數(shù)時(shí)候
是因?yàn)殡娔X上沒(méi)有相應(yīng)的解碼器,建議安裝K-lite Codec Pack。
2、用cvQueryFrame從CvCapture*類型的變量中讀取一幀圖片過(guò)來(lái),如果讀取到結(jié)尾時(shí),返回為空
3、用cvWaitKey可以讓程序等待一段時(shí)間,并且會(huì)返回按鍵的ASCII值
4、用cvReleaseCaputre來(lái)釋放CvCapture*類型的變量所占的內(nèi)存空間,其參數(shù)為CvCatpure*類型的變量的地址

Tags: OpenCV

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多