Halcon讀取圖像的三種方法

第一種方法:
讀了一個單一圖像:
read_image(Image,‘fabrik’)
這種方式可以快速的讀取軟件自身攜帶的庫圖像文件,系統設定了庫圖像映像文件的快速讀取方式,我們也可以通過絕對地址的方式來讀取指定的目錄文件:
read_image(Image1,‘E:/Halcon一日一練/參考資料/images/圖片1.jpg’)
圖像設定的映像文件目錄可以進行關閉,set_system函數可以對映像文件目錄進行關閉,關閉之後必須讀取圖像的絕對地址,否則,系統將會報錯,
set_system(‘image_dir’,‘false’)//關閉圖像映像文件
read_image(Image,‘fabrik’)//此時系統會報錯
在關閉圖像文件目錄的情況下,再讀取圖像將會出現異常,此時我們需要重新設置默認讀取文件的目錄:
set_system(‘image_dir’,‘C:\Program Files\MVTec\HALCON-12.0\images’)
read_image(Image,‘fabrik’)
如果想要讀取自身設定的圖像目錄,則是如下方式:
set_system(‘image_dir’,‘E:\Halcon一日一練\參考資料\images’)
read_image(Image,‘圖片1’)
操作完成後一定要將系統設定回來,並確認目錄定義符一定是上斜線
set_system(‘image_dir’,‘C:\Program Files\MVTec\HALCON-12.0\images’)
set_system('image_dir,‘true’)

第2種方法:
如果要讀取一組圖像,則需要對圖像文件的保存名稱有一定的規則要求,一般按以下格式設定:‘name_number.imageform’
首先保存爲圖像的名稱,下劃線後面追加圖像數字序列,這種方式有利於圖像的循環讀取,看看下面的語句:
for j:= 1 to 9 by 1
read_image(Image,‘fonts/arial_a’+J+’.png’)//讀取圖像
dev_display(Image)//顯示圖像
stop()//暫停
endfor
我們將C:\Program Files\MVTec\Halcon-12.0\images\fonts目錄下的9個圖像文件依次讀取並且顯示出來,中間的+號代表了字符間的合併。

第三種方法:
還有一種更好的方法,可以依次讀取目錄中的所有文件,這種採用虛擬設備讀取文件內容的方式,可以直接讀取文件中所有的圖像,這種虛擬設備的圖像讀取方式,讀取外部設備圖像的方式非常接近,只不過獲取圖像的設備設置爲文件方式,操作的方法和外部設備類似。
例程如下:
tuple_enviroment(‘HALCONROOT’,RootDir)//文件目錄
DirName:=RootDir+’\images’
*打開文件設備
open_framegraber(‘File’,-1,-1,-1,-1,‘default’,-,‘default’,-1,‘default’,DirName,‘default’,-1,-1,AcqHandle)
while(1) get_framegrabber_param(AcqHandle,‘device’,CurrentFileName)//設置圖像設備對應的文件目錄
grab_image(Image,AcqHandle)//讀取文件
endwhile
close_framegrable(AcqHandle)//關閉設備

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章