複雜情況下,目標區域定位

2021-10-24 15:59:05 字數 1684 閱讀 6464

dev_close_window ()

read_image (image, 'e:/halcon_learn/黑塊提取_網路/1.bmp')

get_image_size (image, width, height)

dev_open_window_fit_size (0, 0, width, height, -1, -1, windowhandle)

dev_set_line_width (3)

dev_set_draw ('fill')

rgb1_to_gray (image, grayimage)

threshold (grayimage, regions, 4, 10)

*求區域補集

complement (regions, regioncomplement)

*影象中擷取對應區域

reduce_domain (image, regioncomplement, imagereduced)

*均值濾波

mean_image (imagereduced, imagemean, 301, 301)

*動態閾值分割

dyn_threshold (imagereduced, imagemean, regiondynthresh, 35, 'dark')

*開操作

opening_circle (regiondynthresh, regionopening, 9)

*閉操作

closing_circle (regionopening, regionclosing, 11)

*連通區域分塊

connection (regionclosing, connectedregions)

*設定畫筆顏色

dev_set_color ('green')

*顯示原圖

dev_display (image)

*設定填充格式

dev_set_draw ('margin')

*設定字型

set_display_font (windowhandle, 22, 'mono', 'true', 'false')

*結果提示語

set_tposition (windowhandle, 10, 10)

write_string (windowhandle, '黑塊汙漬提取結果如下:')

*顯示目標區域

dev_display (connectedregions)

*設定字型

set_display_font (windowhandle, 16, 'mono', 'true', 'false')

*最小外接矩形

smallest_rectangle2 (connectedregions, row, column, phi, length1, length2)

*目標區域旁顯示提示語

set_tposition (windowhandle, row, column+2*length2)

write_string (windowhandle, '目標區域')

*儲存顯示框

dump_window (windowhandle, 'png', '目標區域')

Block 在不同情況下的變數儲存區域

一.如果只使用全域性或靜態變數或不使用外部變數,那麼block塊的 會儲存在全域性區 二.如果使用了外部變數,在arc中,block塊的 會儲存在堆區 在mrc中,block快的 會儲存在棧區 三.block預設情況下不能修改外部變數,只能讀取外部變數 在arc中,外部變數存在堆中,這個變數在blo...

java什麼情況下產生死鎖?如何定位修復?

死鎖 死鎖是一種特定的程式狀態,在實體之間,由於迴圈依賴導致彼此一直處於等待之中,沒有任何個體可以繼續前進。死鎖產生條件 互斥條件 請求與保持條件 不可剝奪條件 環路等待條件 定位死鎖最常見的方式就是利用jstack工具獲取執行緒棧,然後定位相互之間的依賴關係,進而找到死鎖。死鎖例項 public ...

最壞情況下保證時間複雜度為N logN的快速排序

快速排序的平均時間複雜度是n logn,同時其也是實踐已知的最快的通用排序演算法,但是其最壞情況的時間複雜度依然是n的平方,但是只要我們對快速排序演算法稍作修改,就可以保證其最壞情況的時間複雜度也是n logn。思路就是在遞迴達到一定深度後,將快速排序的遞迴呼叫改為堆排序,下面是我實現的 我將遞迴深...