顯示具有 HW01 標籤的文章。 顯示所有文章
顯示具有 HW01 標籤的文章。 顯示所有文章

2013年6月20日 星期四

400261155_HW01

第一次上課內容,真的很好玩
將鏡頭翻轉顯示出萬花筒的圖形!!!




HW01




第一次學到像CvCapture和IplImage等等技術
自己動手做出這些程式讓我很有成就感
希望多多能弄更多的特效!!!!!!!!!!!!!!!!!!!!!!

HW01

利用翻轉鏡頭  做出特別的萬花筒效果,我照的是我家書櫃!!


2013年6月13日 星期四

HW01





CvCapture 是一個物件,與硬體做連接。
IplImage 是一個物件,用來影像處理。


初次接觸OpenCV,熟悉的是在devcpp的環境下來完成,download程式碼下來,將不懂的程式碼拿去Google

難點在於對於cvFlip的使用,cvFlip有三個參數,第一個參數是影像的來源,第二個參數可以跟第一個一樣也可以寫NULL,第三個是調整旋轉的方向,有大於0,小於0,等於0三個選項,由此來達到萬花筒的效果。期待有更多好玩的東西出現。

HW01



這堂課學到不同的角度跟光線可以讓視訊慘生出不一樣的美麗!!!
以下是學到的一些內容:
1.CvCapture

CvCapture是一個Interface的資料結構,為一個資料結構的雛形,無任何的變數型別存在,由

cvCaptureFromCAM(0)來選定Webcam裝置,cvCaptureFromCAM(0)的0代表自動偵測視訊裝

置,如果有兩台以上的Webcam則就用連續兩個cvCaptureFromCAM(0)函式來擷取,接著,就用

while(true)的無窮回圈來捕捉連續影像的圖形畫面,cvQueryFrame()則用來擷取每秒顯示出來的

frame這裡由cvWaitKey(10)來控制擷取時間,每延遲10毫秒捕捉一次視訊畫面,cvWaitKey()為鍵

盤事件,每超過10毫秒則會回傳-1,因此,畫面會因cvWaitKey(10)而延遲10毫秒,接著由無窮回圈

來繼續播放,當鍵盤事件發生的時候則會跳出whlie的無窮回圈.接著就把CvCapture資料結構及

視窗介面資料結構做記憶體的釋放.

2. IplImage

IplImage結構來源於Intel的另外一個函數庫Intel Image Processing Library (IPL),該函數

庫主要是針對圖像處理。

cvCreateCameraCapture()選定視訊裝置編號,給視窗命名

對於兩個視訊裝置二擇一的寫法,cvCreateCameraCapture()是不支援的,如果要將裝置做二擇一

個設定,可以參考後面"cvcam.h"的相關設定.

cvCreateCameraCapture()

其實跟cvCaptureFromCAM()是一樣的,它被OpenCV定義成

#define cvCaptureFromCAM cvCreateCameraCapture

所以,當用cvCaptureFromCAM()會自動取代成cvCreateCameraCapture(),而在視訊裝置的使用

上也大有學問,一般視訊裝置是0是自動偵測,有兩台以上就用函式及它的裝置代號重複呼叫,而它

可以支援各種特殊裝置

cvNamedWindow()

這個副程式,是給視窗化介面命名的副程式,用法如下

cvNamedWindow("視窗名稱",參數);

而它的參數實質上只有一個

#define CV_WINDOW_AUTOSIZE 1            自動調整圖形大小


2013年6月6日 星期四

HW01

使用cvFlip來改變圖片上下左右翻轉

HW01






這是第一次接觸OpenCV, 雖然大部分還是以C為基礎來寫程式
但因為有了視訊可以作許多影像處理
這次的截圖都是透過視訊頭去照電腦螢幕而有似萬花筒的效果
非常的有趣也玩到很有心得=P
很期待以後的課程!!

CvCapture
CvCapture 是視頻獲取結構
被用來作為視頻獲取函數的一個參數
Structure for getting video from camera or AVI file
IplImage
IplImage類型都可以代表和顯示圖像。而CvMat和IplImage類型更側重於“圖像”,openCV對其中的圖像操作(縮放、單通道提取、圖像閾值操作等)進行了優化。

cvCreateCameraCapture
index
要使用的攝像頭索引。如果只有一個攝像頭或者用哪個攝像頭也無所謂,那使用參數-1應該便可以。
函數cvCreateCameraCapture給從攝像頭的視頻流分配和初始化CvCapture結構。目前在Windows下可使用兩種介面:Video for Windows(VFW)和Matrox Imaging Library(MIL); Linux下也有兩種介面:V4L和FireWire(IEEE1394)。
釋放這個結構,使用函數cvReleaseCapture。

2013年3月21日 星期四

HW01


這次作業由於第一次沒上到課,之後再補上
在這個程式中,利用cvFlip可以進行圖片的翻轉
在利用0,1,-1來控制翻轉的角度

HW01



使用cvFlip控制系數就可以輕鬆翻轉視訊製造出如萬花筒的效果囉

HW01


HW01


Part1:


*CvCapture:   透過Camera和電腦連結,捕捉影像
*IplImage:      處理視訊影像的一個函式庫

Part1:



利用cvFlip(frame,frame,1);
翻轉圖像後顯示,再進行下一次翻轉
1是水平,0是垂直,-1是both。

心得

入門視訊和 OPENCV後
感覺可以學到蠻多好玩的東西
萬花筒圖是模擬打架圖 看看笑笑就好

2013年3月14日 星期四

HW01


利用cvFlip()來進行視訊的控制,將四張圖片和拼起來,如同萬花筒一般。

2013年2月28日 星期四

HW01

第一次的作業是要顯示四個視窗,
每一個視窗個自做鏡像,
形成萬花筒的效果。

一開始用產生四個視窗
cvNamedWindow("Webcam",1);  //Webcam是視窗名稱

然後用
cvShowImage("Webcam", frame);   //frame是圖像資料名稱
把圖像資料傳遞到視窗

每一個視窗的倒轉是使用
cvFlip(frame,0,1);
來轉換圖像資料的方向
第三項的1代表是→左右倒轉
                0代表是→上下倒轉

最後要在while後面使用
cvWaitKey(20);  // 延遲 20/1000秒


心得:
第一次上課,
對很多地方都不太熟悉,
但是後來認真聽老師講解,
與同學互相討論,
馬上就能夠上手,
而且這次的題目還蠻有趣的,
希望以後能學到更多更專業更有趣的內容。

HW01


  很高興可以選到一堂很實用又有趣的選修,以往過去程式語言必修都太過於枯燥乏味,現在可以好好應用程式語言在不同領域了!




*CvCapture:  透過Camera和電腦連結,捕捉影像
*IplImage:      處理視訊影像的一個函式庫



心得:第一次上視訊還不太清楚大概要上什麼,直到學會cvFlip翻轉上下左右水平,和用程式碼叫出Camera等.......這些好玩的技巧~~~

HW01




第一次上這堂課,老師要我們先理解程式碼的概念及用法是什麼,所以我就上網查了一下。


     1)CvCapture  可以理解成,電腦和攝影機的連接。
     2)IplImage      把連接過來的攝影機的影像處理成圖片放到視窗上。


           第一次使用OpenCV做視訊的處理,運用cvFlip視訊的反轉做出萬花筒的效果,當cvFlip(x,y,z)的z=0的時候,會做x軸的對稱反轉,z>0的時候會做y軸的對稱反轉,z<0時會做x軸和y軸的反轉。

2013年2月27日 星期三

HW01

用視訊做神奇的萬花筒,酷啊真的,我覺得很有趣,以前要買萬花筒,現在用電腦就可以做出來,真帥啊!

2013年2月26日 星期二

Hw01




不知道為什麼截圖的時候好像出現了一些小問題,請自動忽視上面那一排
這次是一個新的技術,我們這一排很陶醉在把鏡頭對著螢幕反光後的花紋,
真的很美很漂亮。
但一開始要讓程式運作就花了我們很大的功夫,還好有助教的幫忙。
可以讓視窗翻轉的指令-
 cvFlip(來源,目的,0或1或-1);
0是水平翻轉,1是垂直翻轉,-1是水平+垂直翻轉。
只要水平-垂直-水平,就可以四種角度都有了。

cvWaitKey(20);
這個是類似wait的程式碼,讓程式停多久之後會繼續抓新的資料。

2013年2月25日 星期一

HW01


起初我根本不知道該怎麼寫
連用2個視窗都有問題
之後我就試試看把視窗的名子改掉就成功了
剩下就是要與x,y軸為基準最對稱的問題
我想到程式是用一行一行跑就想說
先顯示一個視窗 然後做對稱
就成功了
今天這堂課就是讓我們熱熱身的一樣

2013年2月24日 星期日

HW01

心得:
今天學到用 cvNamedWindow
                  cvShowImage
                 cvFlip
用cvFlip垂直水平旋轉,沒想到視訊是一個可以做出特別特效,以前都會直接用photoshop修圖,現在可以直接寫程式表現出來!!
名詞解釋:
CvCapture:是一個保存圖像捕獲所需的資訊的結構體。
IplImage:由於OpenCV主要針對的是電腦視覺方面的處理,因此在函式程式庫中,最重要的結構體是IplImage結構。IplImage結構來源於Intel的另外一個函式程式庫Intel Image Processing Library (IPL),該函式程式庫主要是針對影像處理。
cvCreateCameraCapture:選定視訊裝置編號,給視窗命名
cvNamedWindow:視窗化介面命名的副程式
cvQueryFrame:從攝像頭或者文件中抓取並返回一幀
cvShowImage:顯視圖片
cvWaitKey:鍵盤事件,秀出圖形必備
cvReleaseCapture:清除IplImage圖形資料結構記憶體
cvDestroyWindow:清除視窗記憶體

2013年2月22日 星期五

HW01




CvCapture
一個獲取視頻的抽象接口結構。你可以理解為它能連接攝像頭,然後你想讓攝像頭做什麼,都要用函數調用,它作為參數起到控製攝像頭的作用
IplImage

由於OpenCV主要針對的是計算機視覺方面的處理,因此在函數庫中,最重要的結構體是IplImage結構。 IplImage結構來源於Intel的另外一個函數庫Intel Image Processing Library (IPL),該函數庫主要是針對圖像處理。

這一次的作業主要是要使用cvFlip將一個影像分別產生左右顛倒上下顛倒的四個影像。

首先要先產生4個影像視窗

我的做法是增加名稱Webcam1 Webcam2 Webcam3並寫在cvNamedWindow("Webcam",1);下面

像是

    cvNamedWindow("Webcam",1);

    cvNamedWindow("Webcam1",1);

    cvNamedWindow("Webcam2",1);

    cvNamedWindow("Webcam3",1);

接著使用cvFlip在來源參數上寫上frame,第二個參數可以寫來源參數或NULL,翻轉數我只用到等於1左右顛倒等於0上下顛倒

像是cvFlip(frame,NULL ,1);表示左右顛倒

我寫了三個cvFlip得到以上的結果