圖像獲取與採集及圖像格式與Region介紹——第2講

 

1、圖像獲取與採集ui

 

一、本地圖片讀取spa

 

① 單張讀取3d

直接傳入圖片路徑便可,能夠用絕對路徑,也能夠用相對路徑:regexp

read_image (Image, 'C:/Users/Administrator/Desktop/1.png')blog

 

 

② 編號連續的圖片讀取(000、00一、002……)遞歸

 

* 分別讀取003.jpg、004.jpg、005.jpg、006.jpg接口

for i := 3 to 6 by 1圖片

  read_image (Image, 'C:/Users/Administrator/Desktop/pic/' + i$'.3' + '.jpg')文檔

endforit

 

③ 讀取文件夾(及子文件夾)下所有圖片

 

list_files ('D:/photo', ['files','follow_links'], ImageFiles)

tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima)$','ignore_case'], ImageFiles)

for Index := 0 to |ImageFiles| - 1 by 1

  read_image (Image, ImageFiles[Index])

     * Image Acquisition 01: Do something

endfor

 

 算子list_files中能夠有多個參數,例如:

 

'directories':讀取文件夾

'recursive':遞歸,讀取子文件夾裏面的文件

'max_depth 3':支持3級文件目錄深度的文件檢索

'max_files 1000':最大文件數目不超過1000個

……

 

 

二、相機採集圖像(以筆記本攝像頭爲例)

 

執行「助手」——「打開新的Image Acquisition」

 

 

若是沒連其餘的相機,那麼點擊「自動檢測接口」則會檢測出「DirectShow」,此時點擊「實時」圖標就能夠用筆記本攝像頭實時採集圖像了:

 

而後點「插入代碼」就能夠看到採集圖像的Halcon代碼了:

 

 

2、常見圖像格式介紹 

 

jpg——(有損壓縮)

png——(無損壓縮)

bmp——(無損、一般不壓縮)

 

其餘還有gif、tiff、ico等格式的圖片,可是通常視覺項目中只會用到jpg、png、bmp這三種格式。通常相機採圖輸出的就是bmp格式的圖片,這種圖片的主要缺點是文件太大,佔磁盤。png圖片是無損壓縮圖片,具備和bmp相同的保真度,png和bmp能夠互相無損轉換,同一張圖,png格式只有bmp格式體積的1/3或者更少,jpg一般體積更小,可是因爲有畫質損失,通常不多使用。

 

總之,不一樣格式的圖片在文件大小以及保真度上有明顯差別。

 

bmp格式圖片文件大小的計算:

以這張500W黑白相機(2448 * 2048)拍攝的圖片爲例。黑白相機是8位黑白圖像,一個像素佔據1 Byte的空間

2048 * 2448 /1024 = 4896 KB,能夠看出跟上圖中的4898KB是即爲接近的,其差別忽略不計,所以通常這麼算就行。

 

若是是彩色相機,通常輸出24位圖像,圖像大小擴大爲3倍。

 

或者記住一句口訣:500萬相機輸出的黑白圖像通常是5MB,1000萬相機輸出的黑白圖像通常是10MB;若是是彩色圖像,則大小乘以3。

 

 

 

3、Region介紹

 

一、簡介

 

Region能夠理解爲符合某些性質像素的集合,Region的形狀能夠是任意的,例如圓、橢圓、矩形、或者其餘不規則圖形,甚至單獨的一個點均可以成爲一個Region。

 

 

二、最多見相關算子

 

獲取Region的面積和中心點座標:

area_center(Regions : : : Area, Row, Column)

 

根據特徵篩選Region,這些特徵能夠是面積、寬、高、最小內接圓、圓度、矩形度等參數:

select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : ) 

 

一般用於在一堆Region中選擇面積最大的那個:

select_shape_std(Regions : SelectedRegions : Shape, Percent : )

 

 

 三、Region的聯合操做

 

 

上面四種算子操做分別是:並集、交集、差集、補集

 

 

四、Region轉換操做

 

shape_trans(Region : RegionTrans : Type : )

 

 

 

五、其餘常見region算子(幫助文檔檢索「region」得到更多相關算子信息)

 

draw_region

move_region

paint_region

read_region

write_region

region_features

sort_region

zoom_region

……

相關文章
相關標籤/搜索