作者kingbike (克爾)
看板C_and_CPP
標題[問題] 辨識問題 使用OpenCV
時間Tue Apr 27 19:51:30 2010
各問先進您好 有幾個問題想要請教
小弟現在要在畫面上偵測LED燈的位置;
原本想取畫面中的Blue值去判斷;因為LED為藍色的;不過這個方法不可行 Orz
再來是我利用cvCvtColor將圖片轉成灰階以及利用cvThreshold
轉成黑白希望可以擷取出LED部分的區塊;
這個部份不管Threshold怎麼設,都無法只擷取出LED的部份
所以轉成黑白的圖加入cvFindContours 判斷擷取出來的區塊是否滿足LED區塊
但是這又卡到一個問題 後來發現就是LED燈區塊大小不定 所以取輪廓這個部份無法使用
想請問各位先進 我應該是要針對畫面中LED燈的顏色做判斷吧?
之前的方法好像繞了個大圈 該怎麼做呢??
有什麼function或是演算法可以利用呢?? 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.12.63
推 VictorTom:既然你要判斷顏色, 那就直接用彩色的啊幹麻要轉灰階?? 04/27 20:00
→ VictorTom:先說說怎樣不行法吧, 你用那個color space?? threshold 04/27 20:00
→ VictorTom:怎麼取的?? 04/27 20:01
→ kingbike:原本以為藍色的部份B值就高 所以取畫面裡面RGB的B值去判 04/27 20:24
推 VictorTom:那接近白色的部份B值不是一樣很高嗎@_@" 04/27 20:25
→ kingbike:斷但是白色(亮)的部份 B值也很高 所以不行 04/27 20:26
→ kingbike:V大您是說 直接取畫面藍色的地方嗎? 該怎麼做呢? 04/27 20:27
推 VictorTom:你應該先去讀一下影像處理關於處理彩色影像的部份.... 04/27 20:28
→ VictorTom:大至上對Color Space / Model的特性有一點了解以後, 04/27 20:29
→ VictorTom:下一部再去學Color Slicing或Color Matching的方法:) 04/27 20:29
→ VictorTom:懶的話, 就你提供的資訊來說, 背景不複雜的話, 你要的 04/27 20:30
→ VictorTom:藍色應該只有B高, R和G都低, 所以只判斷B是不夠的.... 04/27 20:31
→ kingbike:V大 感謝您的回應 對於影像處理 我是個門外漢 04/27 20:31
→ VictorTom:剩下的, 就自己去研究方法或者有沒有現成套件可以用吧XD 04/27 20:32
→ kingbike:是因為工作需要 才踏入這個領域 所以請多多指教..謝謝! 04/27 20:32
→ VictorTom:的經典書, 另外它也有中譯的版本, 印象中Ch6是講彩色影 04/27 20:38
→ VictorTom:像處理?? 確切的章節, 書要回家找找看....XD 04/27 20:39
→ VictorTom:生中文書覺得還不錯, 不過我看的好像沒到第四版就是:) 04/27 20:43
→ kingbike:V大 我剛想了一下 不知道我這樣想對不對 就是我先評估 04/27 20:51
→ kingbike:我要偵測的是圖像內LED燈的RGB 大約會座落的區塊例如 04/27 20:52
→ kingbike:( 70<R<100 70<G<100 200<B<230) 利用二分法 04/27 20:52
→ kingbike:比如滿足這個部份設為RGB(255,255,255) 最後在偵測此白 04/27 20:53
→ kingbike:色區塊有幾個就是我要的LED區域個數了 請問這樣可行嗎? 04/27 20:53
推 applecool:B/(R+G+B) + "H"SV 04/27 20:54
→ kingbike:Apple大 我了解 B/(R+G+B)的用意 但是 + "H"SV的意義是? 04/27 20:57
推 applecool:舉例一種 color space 可以考慮用 H 分布的範圍去取 04/27 20:59
→ applecool:只是我以前有這樣用過,也許有其他更適合你的色彩空間 04/27 21:00
→ kingbike:了解 謝謝!! 04/27 21:01
推 applecool:您客氣了~~不過 我想您也許還要一些去雜訊的過程就是了 04/27 21:05
推 VictorTom:建議二分之後就自己用bool或int array存不必一直用原來 04/27 21:07
→ VictorTom:那塊RGB三byte的空間存, 除非你還需要原來的顏色資訊:) 04/27 21:08
→ kingbike:了解 感謝大師提點 04/27 21:12
推 VictorTom:啊, 如果你後續還要用OpenCV的處理會需要它能接受的資料 04/27 21:18
→ VictorTom:儲存方式, 就照它的吧:) 04/27 21:18
→ VictorTom:不過是以前修過課通通要練習自己寫的前學生罷了Orz 04/27 21:18
推 applecool:V 大有興趣把使用 OpenCV 的經驗整理一下嗎? ^_^ 04/27 21:22
→ applecool:然後 po 上來~~可以造福新手~~ 04/27 21:23
推 VictorTom:我以前沒有用OpenCV說, 讀寫BMP, Winodow Programing的 04/27 22:13
→ VictorTom:部份等全部是用BCB6提供的東西兜的; 然後基本的灰階影像 04/27 22:13
→ VictorTom:與彩色影像處理就照書上教的自己練習寫這樣. 回想當時開 04/27 22:14
→ VictorTom:WebCam/AVI等都要拿學長研究半天的東西來做, 現在知道有 04/27 22:14
→ VictorTom:OpenCV這種Tool Chain, 真是令人感到不勝唏噓啊....Orz 04/27 22:15
→ joefaq:類似這樣的東西或許我能給你一些幫助 04/28 00:56
推 costbook:彩色影像處理要先把亮度資訊清除 04/28 09:04
推 b90343024:關於到顏色偵測的 都不建議用RGB 用HSV YCbCr都可 04/28 09:18