顯示具有 99160522_沈奕均 標籤的文章。 顯示所有文章
顯示具有 99160522_沈奕均 標籤的文章。 顯示所有文章

2013年1月3日 星期四

期末porject 第一組

主題:視訊小畫家

利用視訊抓取特定顏色物件,或是手掌,對螢幕圖像進行繪畫。包括了不同的顏色,圖樣。

畫布介面

操作方法

       在src視窗用指頭對準紅點,在Draw視窗的enter區域有偵測或是滑鼠點擊並移動指頭使其畫在Draw視窗上,膚色碰到左邊箭頭區域並佔1/4大小,便會變換顏色或是工具。



由上而下介紹箭頭意思 




1.
畫圈

橡皮擦

倒漆

鉛筆
2.
   色的改變-共有7個顏色 (、黑、天藍)
3.
   筆觸縮放
4.

 


操控畫筆開始畫


功能
ESC:結束程式
R:以視訊畫面當做畫布,可切換
C:清除畫布
S:儲存
mode=2四格視窗
mode=1全螢幕

核心技術


mei skincolor
mouse event
keyboard event
pixel process



未來展望

     小畫家的使用可以不用拘束於滑鼠上的操控,用一指神功。

youtube連結









2012年11月22日 星期四

期末Project,第1組


期末Project,第2組


主題:小畫家



產品介紹:

  利用視訊抓取特定顏色物件,或是手掌,對螢幕圖像進行繪畫。包括了不同的顏色,圖樣,以及插入圖片。

使用方法:

  會製作出一個確認區域,利用特定顏色物件進行選擇(代替滑鼠),來選擇顏色或是圖樣。並使用特定顏色物件進行繪畫,或是不同物件。

  或是利用不同的動作(手勢),可以進行選擇顏色或是繪製的圖樣、功能。

預計困難:

  1.繪製圓形時候,螢幕暫存的圓形圖樣顯示。
  2.程式的效率問題。
  3.擷取手掌是否有在確認區域的位置。
  4.如何辨識動作、手勢。
  5.若是需要油漆桶的功能,要如何擷取輪廓。
  


2012年10月25日 星期四

作業2-3:第1組

Source Image:


圖1:素材(帽子)


圖2:素材(人物)

Result Image:



圖3:遮罩(膚色區域)


圖4:使用遮罩過濾後的膚色


圖5:將素材加入頭上的結果


說明:

事先準備二張圖片,一張為預備要放置在頭上的物件(圖1),而另一張為人臉的影像(圖2)。
將人臉影像先經過處理,找出臉部的區域,並估算放置物件的點座標,再將影像作合併。

程式:

在本次實驗中,過濾人臉影像的部分,是先將圖片轉換為YCrCb色彩空間,並抓取
(0,144,97) 到 (255,176,142) 這個範圍的色彩,而執行這項動作所使用的函式為opencv
內建的cvInRangeS()。在擷取到膚色區域後,抓取頭頂上點的方式,是從最上方從左
至右開始偵測,記錄第一個碰到的膚色點。在之後合併時,以該點當作中心做處理。

但要注意的是圖片大小的部分,若圖片太大或太小,會造成結果不如預期。故在處理
之前必須要先做調整大小的動作。而調整大小事使用cvResize()這個函式,實驗中將大
小調整的方式是,將物件影像調整為人臉影像的1/3,再進行處理。

而合併的時候,是使用迴圈,逐一像素進行處理。處理時,判斷物件影像的像素點是
否為白色,若是白色則擷取人臉影像的部分,反之則擷取帽子的像素顏色。

而結果圖形會如圖3,圖4,圖5。

PS. cvResize(IplImage*,IplImage*) 函式中是放置二張IplImage結構,會將大小進行調整,
   但必須要有相同的通道數。


2012年10月18日 星期四

作業2-2:第1組

作業2-2:

Input: True color image.



Output 1: Mask Image(Binary image)



Output 2: True color image(Use mask image to filter)



說明:

  在這項作業中,必須使用小畫家將所需物件的顏色所擷取出來。而這次我們所取的
物件為老師手中的黃色本子,將顏色擷取出來後使用 cvInRangeS() 將所抓取的到的顏
色取得正負約20的範圍。

使用方法:

  首先取得所需物件的顏色,然後於OpenCV中讀取原始影像,使用 cvInRangeS() 
將所需要的顏色範圍所擷取出來,並將其當作Mask(遮罩),如Output 1。接著使用
cvCopy()  將原始影像透過遮罩過濾,所得到的圖片顯示出來,如Output 2。