NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

視覺區塊

我想請問一下,假設下面這張圖是我辨識出來的二值化圖形
 
我想將這些辨識出來的區塊給予以我設定的編號(例如A、B、C、D、E)
 
但是這是會動的,所以無法單純只用位置來判定
 
我知道在一般的程式寫法,如果要達成這種要求
 
就是將這二值化的陣列裡頭有相連的像素命名為同樣的名字
 
例如:
 
這是原本的二值化出來的陣列:
00000000000000000
00100000000011110
01110000110001000
00100000100001000
00000000000000000
 
將相連的像素使用一樣的命名處理後:
 
00000000000000000
00a000000000bbbb0
0aaa0000cc000b000
00a00000c0000b000
00000000000000000
 
那在Labview下該如何實現?謝謝。
0 積分
1 條訊息(共 9 條)
6,135 檢視
建議使用Match Pattern,然後再用Overlay。
 
由於區塊會移動,使用Match Pattern才可以找到某個區塊。
 
接下來使用Overylay,才可以將文字與影像疊起來。
 
0 積分
2 條訊息(共 9 條)
6,128 檢視

你好,這個方法我有試過,不過由於物體並不會隨時都跟所建立出的樣板相同

ex:如果人臉轉到正面攝取一張樣版,那要能比對也必須是人臉朝正這樣,如果人臉有轉向側邊,就無法辨識了

(雖然可以靠著建立各個方向的樣版來解決,不過感覺是有點不太智慧,而且如果剛好發生樣版以外的情況那也無解)

所以我想請教有沒有好方法?

0 積分
3 條訊息(共 9 條)
6,123 檢視

hi OITCK,

我會建議您使用 Particle Analysis 來取得每個區塊的資訊。

若是在 Vision Assistant 內,在二值化後,您可以選擇 Binary >> Particle Analysis;

若是用 LabVIEW Vision 的VI,您可以使用 IMAQ Particle Analysis。

透過這個方法,就可以取得每個區塊的資訊,比方說質心、大小等。

有了這些資訊後,就可以再把這些資訊提供給 Overlay,

就能顯示在相對的位置上了。

Jimmy Ko
0 積分
4 條訊息(共 9 條)
6,094 檢視
你好,這個方式就是我目前所使用的方式
 
不過現在遇到的問題是
 
假設我將一個螢幕顯示分割為三個區域
 
在三個區域所辨識出來的東西假設為A、B、C
 
 
如果C區塊移動到B的區域,會辨識成B區塊,這樣就有兩個B區塊了
 
但是其實應該是在B區域有著B與C兩者
 
所以我想知道如何對辨識出來的區塊給他一個類似名稱的東西?
 
這樣不管移動到哪個區域都是當時所辨識出來的名稱。
 
謝謝。
 
 
0 積分
5 條訊息(共 9 條)
6,091 檢視

hi OITCK,

辨識出來的三個區塊,建議您可以用其他的資訊來判斷這三者,如:size等。

若是利用其所在的區域,那若移動到別的區域,就無法被辨認出原本所屬的代號了。

這是您問題的意思嗎?

Jimmy Ko
0 積分
6 條訊息(共 9 條)
6,087 檢視
恩恩,就是這樣沒錯
 
所辨識物會一直不斷變動
 
舉個比方來說
 
例如像一個人站在畫面中央
 
我可以辨識出膚色,然後可以利用此資訊位置來辨別是頭、左手、右手
 
但是隨著手的左右擺動
 
可能手會在頭的上面或是下面,因為跑到了頭的區域,這樣就不是辨別為手了
 
而要是利用size做為判斷區塊,則前後擺動時就無法判斷了...囧
 
(事實上,我是把size當做前後動作的資訊,往前會變大,往後會變小)
 
要是單純分割為九個區塊來辨識(例如中間為頭)
 
但還是無法保證當手跑進去頭的區塊之後能辨識為手
 
(甚至左手移動到右手區域都會辨識為右手了...)
 
所以才想假設我第一次利用A、B、C區域辨別A、B、C區塊之後,而後無論區塊如何移動,都能夠判別出A、B、C三個區塊
 
謝謝
0 積分
7 條訊息(共 9 條)
6,084 檢視

hi OITCK,

 

您的問題的確有點複雜。

在二值化後,我們只能以particle來判斷;假設今天您的case是會存在三個particle(頭、左手、右手),雖然一開始我們能夠分辨這三者,但由於他們會移動,造成本身size改變、位置改變、彼此的相對位置也不定。

要由移動前與移動後的binary圖來分辨三者為何,除非能找到移動後仍能分辨彼此的particle feature,不然幾乎是不可能。三個particle若所有的feature都有可能改變,那應該是沒辦法從圖上看出誰是誰的。

要解決這個辨識的問題,可能會比較需要您的domain knowledge。

以我粗淺的看法,提供兩個意見:
1. 想辦法找出怎麼移動都可以分辨的特性,如個別形狀的比例、彼此間的大小關係,或在手或頭上加記號(手錶、戒指)等類似的做法。
2. 拍攝連續的動作圖,由移動的方向、距離或時間等來判斷particle合理的改變位置。

以上資訊提供您參考。謝謝。

Jimmy Ko
0 積分
8 條訊息(共 9 條)
6,053 檢視
恩恩,感謝您的回應
 
我想如果要能解決這個問題,大概只能在辨識物上加上特定的辨識顏色了吧
 
ex:頭套上黃色、右手套上紅色、左手套上藍色
 
謝謝
0 積分
9 條訊息(共 9 條)
6,046 檢視