halcon sobel邊緣檢測sobel_amp

目錄

  • sobel_amp(算子)
    • 描述
    • 參數

sobel_amp(算子)

sobel_amp - 使用Sobel算子檢測邊緣(幅度)。

sobel_amp(圖片:邊緣圖像:濾波器方式,掩膜大小:)

描述

sobel_amp計算圖像的一階導數,并用作邊緣檢測器。
過濾器基于以下過濾器掩碼:

A =
1 2 1
0 0 0
-1 -2 -1

B =
1 0 -1
2 0 -2
1 0 -1
根據所選的過濾器類型,這些掩碼的使用方式不同。 (在下文中,a和b表示將圖像與A和B卷積為一個特定像素的結果。)
在這里插入圖片描述
這里,thin(x)分別對應于垂直最大值(掩模A)和水平最大值(掩模B)的x,否則為0。因此,對于’thin_sum_abs’和’thin_max_abs’,漸變圖像被稀疏化。
對于過濾器類型’x’和’y’,如果輸入圖像是byte類型,則輸出圖像的類型為int1,否則為int2類型。
對于尺寸為3x3的Sobel算子,直接應用相應的濾波器A和B,而對于較大的濾波器尺寸,首先使用尺寸為Size-2的高斯濾波器(參見gauss_image)或二項式濾波器(參見binomial_filter)對輸入圖像進行平滑處理。
為上述FilterType值選擇高斯濾波器。這里,必須使用Size = 5,7,9,11或13。
通過將“_binomial”附加到FilterType的上述值來選擇二項式過濾器。這里,可以在5到39之間選擇大小。
此外,可以通過在Size中傳遞兩個值來選擇不同的平滑列和行方向的量。這里,Size的第一個值對應于掩模寬度(列方向上的平滑),而第二個值對應于二項式濾波器的掩模高度(行方向的平滑)。
二項式濾波器只能用于byte,uint2和real類型的圖像。由于平滑減小了邊緣幅度,在這種情況下,邊緣幅度乘以因子2以防止信息丟失。因此,
sobel_amp(I,E,過濾式,S)

for Size > 3在概念上等同于

 scale_image(I,F,2,0)gauss_image(F,G,S-2)sobel_amp(G,E,FilterType,3)

or to

 scale_image(I,F,2,0)binomial_filter(F,G,S[0]-2,S[1]-2)sobel_amp(G,E,FilterType,3).

對于sobel_amp,實現了使用SIMD技術的FilterType =‘sum_abs’的特殊優化。這些特殊優化的實際應用由系統參數’mmx_enable’控制(參見set_system)。如果’mmx_enable’設置為’true’(并且SIMD指令集可用),則使用SIMD技術執行內部計算。請注意,SIMD技術在大型緊湊輸入區域表現最佳。根據輸入區域和硬件的功能,使用SIMD技術執行sobel_amp甚至可能比非使用SIMD技術花費更多時間。

sobel_amp可以在OpenCL設備上執行,用于過濾器類型’sum_abs’,‘sum_sqrt’,‘x’和’y’(以及它們的二項式變體)。請注意,當對Size> 3使用高斯過濾時,結果可能與CPU實現不同。

支持OpenCL計算設備。
多線程類型:可重入(與非獨占運算符并行運行)。
多線程范圍:全局(可以從任何線程調用)。
在元組級別自動并行化。
在通道級別自動并行化。
在域級別自動并行化。

參數

Image (input_object)(多通道 - )圖像(-array)→對象(byte / int2 / uint2 / real)
輸入圖像。

EdgeAmplitude(output_object)(多通道 - )圖像(-array)→對象(int1 / int2 / uint2 / real)
邊緣幅度(梯度幅度)圖像。

FilterType (input_control)string→(string)
過濾器類型。
默認值:‘sum_abs’
值列表:
‘sum_abs’,‘sum_abs_binomial’,‘sum_sqrt’,‘sum_sqrt_binomial’,‘thin_max_abs’,‘thin_max_abs_binomial’,‘thin_sum_abs’,‘thin_sum_abs_binomial’,‘x’,‘x_binomial’,‘y’,'y_binomial “
值列表(用于計算設備):
‘sum_abs’,‘sum_sqrt’,‘x’,‘y’,‘sum_abs_binomial’,‘sum_sqrt_binomial’,‘x_binomial’,‘y_binomial’

Size (input_control)整數(-array)→(整數)
濾波掩膜的大小。
默認值:3
值列表:3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254881.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254881.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254881.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

es中的一些知識點記錄

1. forcemerge接口 強制段合并,設置為1時,是期望最終只有1個索引段。但實際情況是,合并的結果是段的總數會減少,但仍大于1,可以多次執行強制合并的命令。 設置的的目標值越小。合并消耗的時間會越久。 curl -XPOST htt…

用live555和ffplay搭建流媒體環境

用live555和ffplay搭建流媒體環境 http://bbs.chinavideo.org/viewthread.php?tid12166

如何才能優雅地書寫JS代碼

第一&#xff1a;關于匿名函數的使用 要避免全局變量泛濫&#xff0c; 可以考慮使用匿名函數&#xff0c; 把不需要在外部訪問的變量或者函數限制在一個比較小的范圍內。 例如以下代碼&#xff1a; <script> function func1(){ var list ["a", "b",…

halcon hough_lines 霍夫直線變換

目錄hough_lines&#xff08;算子&#xff09;描述參數hough_lines&#xff08;算子&#xff09; hough_lines - 借助Hough變換檢測邊緣圖像中的線條并將其返回到HNF中。 hough_lines&#xff08;RegionIn :: AngleResolution&#xff0c;Threshold&#xff0c;AngleGap&…

通過border來實現各種三角符號

很長時間沒有動筆了&#xff0c;最近學的東西很雜很亂&#xff01;又有點丟了西瓜撿芝麻&#xff0c;走馬觀花&#xff0c;瞻前顧后的感覺&#xff01; 因此&#xff0c;我決定一步步來&#xff0c;化繁為簡&#xff0c;今天就從border入手。 很多時候我們都會需要一個三角形或…

MFC封裝API

一、Win32Application Architecture 一個Win32 Application Architecture的代碼結構如下&#xff1a; LRESULT CALLBACK WinWordsProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); //定義回調處理消息函數 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPr…

通過閱讀 Douglas Crockford 的源碼學習如何寫 JSON parser(一)

JSON-js Douglas Crockford 是 JSON 的發明者&#xff0c;所以通過 DC 的代碼來學習 JSON 和 parser 絕對是上乘之選。這個倉庫里面有四個 JS 文件&#xff0c;今天我們先研究 json_parse.js。 json_parse 定義了如下 API&#xff1a; json_parse(string) > object json_par…

halcon gen_region_hline 繪制霍夫變換提取直線

目錄gen_region_hline&#xff08;算子&#xff09;描述gen_region_hline&#xff08;算子&#xff09; gen_region_hline - 將霍夫變換提取直線以普通形式描述的輸入行存儲為區域。 gen_region_hline( : Regions : Orientation, Distance : ) 描述 運算符gen_region_hline…

H.264視頻RTP負載格式/NALU的類型

1. 網絡抽象層單元類型(NALU) NALU 頭由一個字節組成, 它的語法如下: |0|1|2|3|4|5|6|7| |F|NRI| Type | F: 1 個比特. forbidden_zero_bit&#xff1a;在H.264規范中規定了這一位必須為0。 NRI: 2 個比特. nal_ref_idc&#xff1…

4.10下午

轉載于:https://www.cnblogs.com/yanyuying/p/6690662.html

虛函數

1、基于向上類型轉換&#xff0c;基類通過虛函數可以對多個子類相似的功能實現統一管理。 2、例子&#xff1a; A為基類&#xff0c;B、C為A的同級子類。virtual只需在基類中標識一次&#xff0c;子類無需重復標識。class A {virtual void display(){cout<<"我是A&q…

Android繪制(一):來用shape繪出想要的圖形吧!

目錄 前言shape繪制矩形橢圓線環用shape繪制SeekBar最后前言 在沒有UI設計師的時候, 或者是想簡單看下效果的時候, 用shape進行快速繪制是極好的! 官方文檔. shape繪制 一共有四種shape: rectangle, oval, line, ring. 矩形 我們一個一個來看, 首先是矩形: <?xml version&q…

halcon sobel 邊緣檢測 sobel_dir

目錄sobel_dir&#xff08;算子&#xff09;描述參數sobel_dir&#xff08;算子&#xff09; sobel_dir - 使用Sobel算子檢測邊緣&#xff08;振幅和方向&#xff09;。 sobel_dir(Image : EdgeAmplitude, EdgeDirection : FilterType, Size : ) 描述 sobel_dir計算圖像的一…

靜態鏈接庫LIB和動態鏈接庫DLL的區別 創建和示例

1.什么是靜態連接庫&#xff0c;什么是動態鏈接庫靜態鏈接庫與動態鏈接庫都是共享代碼的方式&#xff0c;如果采用靜態鏈接庫&#xff0c;則無論你愿不愿意&#xff0c; lib 中的指令都全部被直接包含在最終生成的 EXE 文件中了。 但是若使用 DLL&#xff0c;該 DLL 不必被包含…

【譯】x86程序員手冊37-第10章 初始化

Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 are set to predefined values. These values are adequate to enable execution of a bootstrap program, but additional initialization must be performed by s…

在ubuntu中安裝minicom時出現device /dev/tty8 is locked解決辦法

未正常關閉minicom yesaiduywf-ubuntu: ~$ ls /var/lock LCK..ttyS0 subsys yesaiduywf-ubuntu: ~$ kill 0 yesaiduywf-ubuntu: ~$ ls /var/lock subsys yesaiduywf-ubuntu: ~$ sudo minicom Welcome to minicom 2.3 或者刪除/var/lock下面以LCK開頭的文件轉載于:https://www.…

秒殺多線程第二篇 多線程第一次親密接觸 CreateThread與_beginthreadex本質區別

本文將帶領你與多線程作第一次親密接觸&#xff0c;并深入分析CreateThread與_beginthreadex的本質區別&#xff0c;相信閱讀本文后你能輕松的使用多線程并能流暢準確的回答CreateThread與_beginthreadex到底有什么區別&#xff0c;在實際的編程中到底應該使用CreateThread還是…

halcon get_image_pointer1獲取圖像指針

目錄get_image_pointer1&#xff08;算子&#xff09;描述參數get_image_pointer1&#xff08;算子&#xff09; get_image_pointer1 - 訪問單通道圖像的指針。 get_image_pointer1(Image : : : Pointer, Type, Width, Height) 描述 運算符get_image_pointer1返回指向圖像I…

如何傳輸文件到linux服務器?

我們知道&#xff0c;云主機文件傳輸是一件相對復雜的事情&#xff0c;經常需要搭建FTP服務器或者是借助其他工具來完成。下面為大家介紹一種簡單易操作的傳輸文件到Linux服務器的方法。 Linux文件傳輸同Windows文件傳輸一樣&#xff0c;我們為每一臺Linux主機配置了一個1G的網…

C++學習筆記(五)--指針、NULL、引用

1. C中已經定義了NULL為0:#define NULL 0 指針p可以指向空值NULL即 p NULL;表示該指針變量不指向任何變量。   注意&#xff1a;指針未初始化與指針為NULL不同&#xff0c;   p NULL;是有值的&#xff0c;為0&#xff1b;   而在定義時&#xff1a;int *p;這時候碎雖然…