1. What is your favorite homework?
我最喜歡的作業是隔空畫圖,用視訊來隔空畫畫是一件很酷的事,
雖然畫得過程會受到背景燈光等因素影響,不是那麼容易做畫,但是
我也學到了這個作業的基礎,以後如果加以改良,進一步鑽研,一定
能把code寫得更好,做出來的畫也會更為精確精美~
2. What did you learn in this course?
在這堂課學到了很多很多東西,在程式上,指標的東西用的非常多,也學會
如何為圖像申請空間,對於三原色在記憶體中的位址也有深刻的了解,利用
顏色的偵測來製作虛擬滑鼠......這些學習到的東西,每堂課一步一步學到的
東西,最後統整起來真的非常有趣,已經可以做出像樣的視訊小遊戲了,加上
可以將自己的成果記錄在部落格上,自己回味起來特別有成就感,這堂課雖
然也讓我遭遇到不少困難,但也學會如何自己處理bug,這些都是在這堂課
所學到相當重要的東西
3. What did you change after this course?
經過視訊處理課的洗禮,我也對視訊產生了興趣,以前都只是用聊天軟體跟
別人視訊講講話,但從未想過視訊經過一些程式上的撰寫,可以變得如此有
趣,假如未來還有相關課程,我一定還會繼續學習,做出更多更好的成品
2013年6月20日 星期四
2013年6月5日 星期三
上機考
這次上機考原本只有60
做出三個皇冠的樣式
經過多次努力的嘗試終於可以選取帶到頭上囉^Q^
主要程式還OK沒什麼問題 只是我寫得比較慢
需要思考比較多時間 經過一番努力還是完成了~~
1.詳細列出bug:
(1)無法偵測手摸到皇冠
(2)無法戴到頭上
2.詳細列出解決bug的流程與方法:
(1)使用SKIN detection皮膚感測的方法來判斷手是否出現在皇冠位置。
(2)偵測到手摸到皇冠後,將皇冠複印到頭部的區塊
2013年5月23日 星期四
2013年5月16日 星期四
2013年4月19日 星期五
2013年3月21日 星期四
2013年3月14日 星期四
2013年3月7日 星期四
2013年2月28日 星期四
HW2
今天練習了視訊效果的製作,做出灰色 黑白 線條等等許多效果,相當有趣!
一開始令我比較苦惱的是空間的申請,必須用到 cvCreateImage這個function,將每個圖像宣告好之後,再使用cvCvtColor將彩色圖轉換成灰階圖,
cvCvtColor(pImg, gray,CV_BGR2GRAY);
,cvThreshold( gray, bw, 63, 255, CV_THRESH_BINARY );則是用來將灰階轉黑白,
裡頭的63,255 就是以63為基準點 超過63就會變255全白,低於63則變成0為黑色,就可以轉乘黑白了
cvCanny(gray, pCannyImg, 50, 150, 3);則是製作線條圖的function,這個效果十分有趣,不過他的用法我還得好好研究一下
最後還學到了cvResize
用法如下
IplImage *src = 0; //原圖像指針
IplImage *dst = 0; //目標圖像指針
float scale = x; //縮放倍數為x倍
CvSize dst_cvsize; //目標圖像尺寸
dst_cvsize.width = src->width * scale; //目標圖像的寬為原圖象寬的scale倍
dst_cvsize.height = src->height * scale; //目標圖像的高為原圖象高的scale倍
dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels); //構造目標圖象
cvResize(src, dst, CV_INTER_LINEAR); //縮放原圖像到目標圖像
cvNamedWindow( "src", CV_WINDOW_AUTOSIZE ); //創建用於顯示原圖像的視窗 cvNamedWindow( "dst", CV_WINDOW_AUTOSIZE ); //創建用於顯示目標圖像的視窗
一開始令我比較苦惱的是空間的申請,必須用到 cvCreateImage這個function,將每個圖像宣告好之後,再使用cvCvtColor將彩色圖轉換成灰階圖,
cvCvtColor(pImg, gray,CV_BGR2GRAY);
,cvThreshold( gray, bw, 63, 255, CV_THRESH_BINARY );則是用來將灰階轉黑白,
裡頭的63,255 就是以63為基準點 超過63就會變255全白,低於63則變成0為黑色,就可以轉乘黑白了
cvCanny(gray, pCannyImg, 50, 150, 3);則是製作線條圖的function,這個效果十分有趣,不過他的用法我還得好好研究一下
最後還學到了cvResize
用法如下
IplImage *src = 0; //原圖像指針
IplImage *dst = 0; //目標圖像指針
float scale = x; //縮放倍數為x倍
CvSize dst_cvsize; //目標圖像尺寸
dst_cvsize.width = src->width * scale; //目標圖像的寬為原圖象寬的scale倍
dst_cvsize.height = src->height * scale; //目標圖像的高為原圖象高的scale倍
dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels); //構造目標圖象
cvResize(src, dst, CV_INTER_LINEAR); //縮放原圖像到目標圖像
cvNamedWindow( "src", CV_WINDOW_AUTOSIZE ); //創建用於顯示原圖像的視窗 cvNamedWindow( "dst", CV_WINDOW_AUTOSIZE ); //創建用於顯示目標圖像的視窗
2013年2月21日 星期四
HW01
今天第一次上視訊處理的課程,見到了許多新的程式碼以及函數,對於陌生的程式碼我總有莫名
的恐懼,看不懂就會不知道如何下手處理,但是老師給了我們時間,自己上網搜尋資料,一步一步
了解程式碼每一行程式的含意,真的收穫良多唷~
1.CvCapture是一個Interface的資料結構,為一個資料結構的雛形,無任何的變數型別存在,用來做為視頻獲取函數的一個參數
2.IplImage。IplImage的結構來源於Intel的另外一個函數庫Intel Image Processing Library (IPL),該函數庫主要是針對圖像處理。
訂閱:
文章 (Atom)








