如題 小弟是使用LabVIEW的新手中的新手\
所以可能問題會蠻多的 還請各位大大指點迷津
因為專題有需要接觸到LabVIEW這一部份
我的目標是
1 藉由LabVIEW 看到影像量測儀所觀測到的雷射光點(這部份使用ARCS的攝影機頭)
2 能夠知道光點所在的位置(質心位置),因後續光點會移動(做位移量測),但是要移回原本的初始位置(使光檢測元件有個移動的初始依據)
以上有辦法用LabVIEW達成嗎??
關於1這部分我有爬了文章,有看到不用安裝Vision的作法,這部份還在嘗試當中,自己使用版本是8.5.1不知道有沒有支援擷取攝影畫面這部份?因為上這論壇有爬文章後抓了一些檔案,可是好像是因為他用8.6版寫的 ,我的版本就打不開...懇請大大幫幫忙了
1.
ARCS的鏡頭我沒看過,
不過如果傳輸介面是1394的話,LABVIEW VISION可以抓到他,自然就可以使用。
只要使用鏡頭附的應用程式能夠調整到清楚看到你要個光點,那麼VISION就能對該影像做處理。
2.
光點位置可以辨識,如果影像夠大的話才能有效算出質心位置,
但是個人認為移回初始位置不應該從影像這部分著手,而應該要有位移感測器來執行這個任務。
畢竟影像處理除非影像夠大,否則都有誤差,在多次運作之後誤差累積,會讓實驗架構越加不準。
3.
至於新手就要直接碰VISION…
我個人建議先接觸基礎課程之後,在針對VISION去尋找教學書籍,
否則網路上的資源可能不足以應付需求。
(畢竟影像的程式多半都是客製化,很多東西沒有通則,在沒基礎的前提下單純看人家程式也比較難學到什麼)
caeru40380.7392824074
當初會選擇使用攝影機鏡頭是因為國科會計畫書上面寫的(老師期許),當然如果用個PSD或線陣列CCD之類的感測元件問題應該問題就解決不少哩,目前剛安裝好Vision,希望能夠先看到動態影像再求能夠知道光點位置
目前已經可以看到影像了,範例修改 還有一些學長的耐心幫忙。Grab with Property Page.rar
後續要怎麼處理時再還是一頭霧水,以及上面CAERU大大所說的算出質心位置,希望有類似經驗的大大可以幫幫忙。
目前使用飛利浦的攝影機當作鏡頭。剛剛量測了一下光點大約是長0.25公分 寬0.5公分 (因雷射是斜向入射屏幕所以是個橢圓形光點)

如果原點是已定義好,看你的影像還蠻清楚的所以原點到光點位置將影像處理後再做分析可以知道光點移動多少距離,現在我的問題是以下的用意我不懂
2 能夠知道光點所在的位置(質心位置),因後續光點會移動(做位移量測),但是要移回原本的初始位置(使光檢測元件有個移動的初始依據)
可否再仔細說明一下,另外我想知道的是光點是手動移動,還是經由像馬達控制為自動移動?
目前光點移動是用手動控制的,可用電壓改變一面鏡子的偏轉角度,然後鏡子可以改變光入射的角度,就如同上面照面的光點,當我的屏幕前後移動的時候,我的光點會向左或右移動(可參考斜射三角量測),現在目標就是希望能夠確保說每次光點都能停留在我想要量測的待測點上,例如說上面的那個方個內,每次都能夠精準的打在同樣的位置上,這部分本來是用肉眼判斷,現在老師希望我能用電腦來處理,這樣誤差會更小,好像要用到二值法之類的影像處理方法,我在參考一下前人大大的文章,也希望各位大大能多給予意見或是幫忙,小弟謝過了
我再整理一下你的需求,你的意思是目前是用手動控制光點移動,之後會改成經由電壓的變化來控制光點移動,是這樣嗎?
目前是手動去調整電壓=>電壓去控制鏡子旋轉的角度----目前這部分都是手動接下來會連接到電腦從電腦送訊號讓鏡子旋轉,這部份暫時還不用用到labVIEW,因為說實在時間不是這麼夠用整體架構都要完成自動還挺困難的。
目前要做的就是
找到光點位置(程式能夠告訴我說這光點質心位置在哪裡)下次當我光點移動的時候還能移動到這位置上,好比座標系之類的,例如元始位置在(0,0),後來因為光點會移動,我要在想辦法把光點移回(0,0)這位置,如何移動這部分目前不是問題可用手動達成,難題在於不確定光點鎖在的位置在哪(光點並不是圓的),也因此後續要使光點移動回原本位置如果用肉眼觀看會造成所謂的誤差,也因此想說有沒有更準確的方法可以定位光點(光點中有所謂光強最強的一點)的位置。
原本方法是用攝影機觀看,例如說上面有屏幕那張圖,假設那個光點在那個框框裡是原本的位置,後來光點還要在移回那個位置上,差別在於雖然都知道要移回那個框框內,但是究竟有沒有跟之前位置一樣我們並不知道,也許偏左一點偏右一點,所以才會用到labVIEW軟體來想辦法解決這問題
SHINENE40381.485787037
剛剛有看到一位大大寫的程式USB Cam Examples.rar
它裡面有個樣品影像擷取的功能,這部份我試了一下怎麼好像沒動作,是我操作不當還是= =...
右邊有顯示X和Y不知道是否就是可以顯示出位置的功能??
ancle
10
附上一個範例程式,提供給你參考
Find Light Point Folder_LV8.5.rar
下圖98,87座標為當滑鼠移動到此點的座標,可當做原點,右下角的座標為光點目前的位置,調整二值化門檻值後可能會有幾個像素的誤差

ancle大大謝謝你
,我來研究看看。
上一個程式有個樣品影像擷取的功能,這個不知道會把圖存在哪耶...
SHINENE40381.5807175926
好像有點怪怪的 我按run之後,他跑出一個選單要我開啟, 因為我不知道要開啟哪個擋我就按取消,
結果就跳出
阿 我耍笨了= =,他是要我開一張擷取的圖是吧....我開了之後就能看位置了,只是我剛剛的程式有辦法截圖嗎,那張光點的圖我是按print screen擷取 再用小畫家截掉一些邊邊後上傳的
=============================
目前可以看到大大所說的那些座標了,這個做法是要先拍一張圖,然後記下光點中心位置,例如(210.19 , 144.73)
那接下來光點如果要移動到這個座標,我有辦法即時知道嗎,還是也是要拍一張圖來看看中心位置,若不是的話還要多拍幾張這樣?
剛剛的程式框框1變成黑白的,框框2應該是找中心的,有辦法多一個框框3是即時把看近來的影像就找到中心位置嗎
愚昧的多問一下,第一個框框是變成灰階?第二個是二值化的結果嗎?最下面的波行圖最堅端的地方是說光強最強的位置?我目測大概是(180~190,210~220) 左右,這樣推斷起來右邊量測到的OBJECT中心就不是光強最強的中心了(質心)。
SHINENE40381.6072106482
ancle
14
1.就把我的程式加到你之前po的程式如下即可
Grab with Property Page Folder_LV8.5.rar
2.第一個影像灰階影像沒錯,第二個影像是二值化影像沒錯,波形顯示的是整張影像的分佈,當你調整二值化時你就會知道高於門檻值的部份會顯示出來,目前調的是值200表示大於它才會顯示出來,所以是你所謂最強的中心
另一邊目前有在做DAQ擷取兩個通道訊號的練習,對於儲存部分還在嘗試中(之前不小心弄到DO WHILE迴圈,結果每執行一次他就叫我存檔一次= =)
SHINENE40406.4285069444
[QUOTE=ancle]
1.就把我的程式加到你之前po的程式如下即可
Grab with Property Page Folder_LV8.5.rar
2.第一個影像灰階影像沒錯,第二個影像是二值化影像沒錯,波形顯示的是整張影像的分佈,當你調整二值化時你就會知道高於門檻值的部份會顯示出來,目前調的是值200表示大於它才會顯示出來,所以是你所謂最強的中心
[/QUOTE]
大大我目前用你這個方法碰上了一個問題,我光點的質心位置小數點部份位置會跳動....這部份有沒有什麼方法可以改善,
例如(99 80) 他可能會 98.5~99.5之間的跳動,光源部份我有確認過功率跳動應該不至於太大,有沒有辦法經調整後使這座標位置更穩定?
ancle
18
我不確定是否是解析度的關係,這點要確認,通常USB Webcam解析度不像工業攝影機可以搭配鏡頭來取得較好的解析度
大大我目前碰到一個新的問題是說我想將上面的程式改良並把光點質心位置存取下來。
但不知道該怎麼將 object center 那欄的值存下(存X就好了)
目前是預計要存取兩個位置(光點移動前,還有移動後),移動前的存一個,移動後可能會存好多個(ㄧ次存ㄧ個 後續移動存依個)
然後把移動後的位置減去移動前的位置,
例如移動前光點X軸座標位置在20 那先把它存在儲存位置1
第一次移動時光點位置在40 把他存在位置2
然後把兩位置相減(40-20=20) 可得知移動了20
第二次移動後光點位置在60 存在位置2
那可以知道移動等於60-20=40
目前大致上想做這部份,還不大熟析ㄧ些功能的應用 懇請各位大大幫幫忙。
Grab with Property Page.rar
SHINENE40450.7374189815
ancle
20
1.使用index array和unbundle by name

2.因為X的值一直在改變,所以你可能要做一個開關或case來決定什麼時候要儲存數值,什麼時候數值要相減