halcon基礎運算元介紹(視窗建立,運算元執行時長,是否啟用更新函式)

喜歡吃魚的青年發表於2021-11-19

前言

halcon有有大約1500個運算元,我總結一些簡單大家用得到的運算元,比如建立視窗的方式有3種,接下來結束這方式,及其異同點等!

1.視窗建立的三種方式

1.1使用dev_open_window運算元

dev_open_window表示開啟一個400x400的視窗,圖片有自適應縮放大小,去填充視窗。

*讀取影像
read_image(Image,'123.png')
*開啟影像視窗
dev_open_window(0,0,400,400,'white',WindowID)
*顯示影像
dev_display(Image)

1.2使用dev_open_window_fit_image

視窗適應圖片,會按照圖片的大小比例去調整視窗。

*讀取影像
read_image(Image,'123.png')
*開啟影像視窗
dev_open_window_fit_image (Image, 0, 0, 400,400, WindowHandle)
*顯示影像
dev_display(Image)

1.3dev_open_window_size_image

視窗不管多大,圖片不縮放,顯示它原始的比例。

*讀取影像
read_image(Image,'123.png')
*開啟影像視窗
dev_open_window_size_image(0,0,400,400,'white',WindowID)
*顯示影像
dev_display(Image)

區別

運算元 dev_open_window dev_open_window_fit_image dev_open_window_size_image
區別 會隨著的視窗的大小,圖片會被拉伸 圖片會按照的視窗的大小去適應調整比例縮放 圖片不會有任何變化,我行我素,按照圖片的比例顯示,不會關心視窗大小

2.如何計算運算元的執行時長

使用的是count_seconds運算元,可以記錄運算元的執行時間,在運算元的前後分別記錄count_seconds的時間,通過後者(t2)-前者(t1),得到的t3就是運算元的執行時間。

*開始記錄運算元的時間
count_seconds(t1)
*開啟視窗
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
*顯示圖片
dev_display(Image)
*記錄運算元的結束時間
count_seconds(t2)
*計算運算元執行時間
t3:=(t2-t1)*1000

3.設定halcon是否啟用更新

dev_update_off和dev_update_on設定程式是否啟用更新,在控制的區域,程式不可以除錯,可以加快程式的執行速度。

*關閉更新
dev_update_off()
*開啟視窗
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
*顯示圖片
dev_display(Image)
*啟用更新
dev_update_on()

總結

函式各有各的優勢,在合適的場景使用合適的方式。

相關文章