NI產品與技術 討論區

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

二值化後的邊緣擷取

您好:
關於在使用二值化將物品分割成背景及待測物品後,是否有Icon能將外輪廓輸出成點資料,或其他格式,如DXF。
煩請告知 謝謝!
0 積分
1 條訊息(共 9 條)
7,929 檢視
博凱您好,

請參考下方連結的第一個範例程式:
http://zone.ni.com/devzone/cda/epd/p/id/623

您可以用Unbundle by Name.vi從ROI descriptor將點資料抓出。
或者利用IMAQ GetPointsOnContour.vi來讀取輪廓上點的位置。
這裡有一篇技術文章說明如何使用IMAQ GetPointsOnContour.vi
http://digital.ni.com/public.nsf/allkb/E360C83B9DFDB90986256BAA00558863?OpenDocument

在LabVIEW下無法直接將image存成DXP,
您可以存成BMP,JPEG,PNG,TIFF,AIPO然後利用其他應用程式將檔案轉為DXP

NI application engineer
Ching-Ting LIN

0 積分
2 條訊息(共 9 條)
7,914 檢視
感謝您的答覆!
但還是有使用上的問題,即我選擇使用IMAQ GetPointsonContor.vi,接著把他unbundle by name,
僅能輸出Contor Points[0-8]9個點,但我需要輸出所有的點的X、Y位置(陣列),以.txt或Excel等格式輸出。不知是否有其他解....煩請答覆。謝謝
 
0 積分
3 條訊息(共 9 條)
7,901 檢視
博凱您好,

請您參考附檔的圖,我是拿上篇文章連結中的範例程式修改的。
IMAQ GetPointsonContor.vi會將圖片中所有的contour資訊給送出,
由於在圖上有多個contour,所以
IMAQ GetPointsonContor.vi是一個1D array。
現在我利用一個For Loop取出個別的Contour,以便讀取其資料,包含1. Number of Points   2. Open/Close   3. Weight   4. Contour Points
其中Contour Points是一個1D array,array中每個element包含該contour上每個點的資訊,
包含每個點的 1. X   2.Y   3. Curvature   4. X Displacement   5. Y Displacement
因此,我可以在利用一個For Loop抓出contour中個別的點,然後再用unbundle by name將X-Y取出。
所以您還是可以讀到每一個點的X-Y值。

存檔的話,若是cluster的形式,建議使用DataLog來做,但DataLog的儲存形式是針對LabVIEW的,
無法用excel或notepad開啟。
若您的資料之後要用excel開啟,可以用write to spreadsheet file,儲存的檔案不是excel,但可用excel開啟。
這時您的資料要以array的方式儲存。
若要存成文字檔,您必須將資料轉成字串,然後自己編排成欲儲存的格式。

您可以參考LabVIEW>> Help>> Find Examples>> Fundamentals>> File Input and Output
來瞭解關於寫入檔案的方法。
在NI首頁 ni.com以關鍵字:"file I/O" 做搜尋,也有很多範例程式可以參考。

NI application engineer
Ching-Ting LIN

0 積分
4 條訊息(共 9 條)
7,896 檢視
林先生您好:
檔案無法開啟...
可否麻煩您直接將.vi或.jpg     mail給我 謝謝!
0 積分
5 條訊息(共 9 條)
7,866 檢視
博凱您好,
再附加一次圖片。
若仍看不到,再試著E-amil給您,
不過得請您留下E-mail addreess。

NI application engineer
Ching-Ting LIN
0 積分
6 條訊息(共 9 條)
7,848 檢視
林先生您好:
接續後可以抓到所有點資料了!
感謝您的幫忙 謝謝!
0 積分
7 條訊息(共 9 條)
7,845 檢視
她是林小姐!!!
 
Thanks
0 積分
8 條訊息(共 9 條)
7,842 檢視
抱歉!
由英文文字看不出性別...
請別見怪!
 
感謝您 林小姐!
0 積分
9 條訊息(共 9 條)
7,838 檢視