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)//關閉設備

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM