目录

  • sobel_dir(算子)
    • 描述
    • 参数

sobel_dir(算子)

sobel_dir - 使用Sobel算子检测边缘(振幅和方向)。

sobel_dir(Image : EdgeAmplitude, EdgeDirection : FilterType, Size : )

描述

sobel_dir计算图像的一阶导数,并用作边缘检测器。过滤器基于以下过滤器掩码:

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

B =
1 0 -1
2 0 -2
1 0 -1
根据所选的过滤器类型,这些掩码的使用方式不同。 (在下文中,a和b表示将图像与A和B卷积为一个特定像素的结果。)
在这里插入图片描述
对于尺寸为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_dir(I,Amp,Dir,FilterType,S)

对于Size > 3在概念上等同于

 scale_image(I,F,2,0)gauss_image(F,G,S-2)sobel_dir(G,AMP,风向,过滤式,3)

或者

 scale_image(I,F,2,0)binomial_filter(F,G,S [0] -2,S [1] -2)sobel_dir(G,AMP,风向,过滤式,3)。

边缘方向在EdgeDirection中返回,并以2度步长存储,即,在数学上正方向的x度的边缘方向和相对于水平轴的边缘方向在边缘方向图像中存储为x / 2。此外,考虑强度变化的方向。让我们表示图像渐变。然后以r / 2返回以下边缘方向:
在这里插入图片描述
边缘幅度为0的点被指定为边缘方向255(未定义的方向)。
sobel_amp可以在OpenCL设备上执行。请注意,当对Size> 3使用高斯过滤时,结果可能与CPU实现不同。

并行

支持OpenCL计算设备。
多线程类型:可重入(与非独占运算符并行运行)。
多线程范围:全局(可以从任何线程调用)。
在元组级别自动并行化。
在通道级别自动并行化。
在域级别自动并行化。

参数

Image (input_object)(多通道 - )图像(-array)→对象(byte / int2 / uint2 / real)
输入图像。

EdgeAmplitude(output_object)(多通道 - )图像(-array)→对象(byte / int2 / uint2 / real)
边缘幅度(梯度幅度)图像。

EdgeDirection(output_object)(多声道 - )图像(-array)→对象(方向)
边缘方向图像。

FilterType(input_control)string→(string)
过滤器类型。
默认值:‘sum_abs’
值列表:‘sum_abs’,‘sum_abs_binomial’,‘sum_sqrt’,‘sum_sqrt_binomial’
值列表(用于计算设备):‘sum_abs’,‘sum_sqrt’,‘sum_abs_binomial’,‘sum_sqrt_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/254868.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/254868.shtml
英文地址,请注明出处:http://en.pswp.cn/news/254868.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态链接库LIB和动态链接库DLL的区别 创建和示例

1.什么是静态连接库,什么是动态链接库静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意, lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。 但是若使用 DLL,该 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本质区别

本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是…

halcon get_image_pointer1获取图像指针

目录get_image_pointer1(算子)描述参数get_image_pointer1(算子) get_image_pointer1 - 访问单通道图像的指针。 get_image_pointer1(Image : : : Pointer, Type, Width, Height) 描述 运算符get_image_pointer1返回指向图像I…

如何传输文件到linux服务器?

我们知道,云主机文件传输是一件相对复杂的事情,经常需要搭建FTP服务器或者是借助其他工具来完成。下面为大家介绍一种简单易操作的传输文件到Linux服务器的方法。 Linux文件传输同Windows文件传输一样,我们为每一台Linux主机配置了一个1G的网…

C++学习笔记(五)--指针、NULL、引用

1. C中已经定义了NULL为0:#define NULL 0 指针p可以指向空值NULL即 p NULL;表示该指针变量不指向任何变量。   注意:指针未初始化与指针为NULL不同,   p NULL;是有值的,为0;   而在定义时:int *p;这时候碎虽然…

Sort函数的用法

快速排序sort的用法&#xff1a;&#xff08;适用于int float double char 。。。&#xff09; 记得加头文件&#xff01; 记得加头文件&#xff01; 记得加头文件&#xff01; 头文件&#xff1a; #include <algorithm> using namespace std ; // 两行都要写 数组排…

crf与bitrate对照表

crf与bitrate对照表 (2011-06-21 17:45:59)一些关于crf的备忘&#xff1a; 1、相较于bitrate方式&#xff0c;cpu占用与内存占用均会下降&#xff1b; 2、锐化滤镜会让crf的码率上升&#xff1b; 3、vbv对crf依然有效&#xff1b; 4、crf18就接近无损&#xff0c;字幕组惯用20-…

秒杀多线程第三篇 原子操作 Interlocked系列函数

上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见&#xff0c;我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录&#xff0c;每个用户登录用一个…

Vue 教程第九篇—— 动画和过度效果

过渡效果 SPA 中组件的切换有一种生硬的隐藏显示感觉&#xff0c;为了更好的用户体验&#xff0c;让组件切换时淡出淡入&#xff0c;Vue 提供了专门的组件 transition。 过滤效果应用场景 条件渲染 (使用 v-if)条件展示 (使用 v-show)动态组件组件根节点过渡状态 enter&#xf…

halcon create_ocr_class_svm 使用SVM分类器创建OCR分类器

目录create_ocr_class_svm&#xff08;算子&#xff09;描述参数create_ocr_class_svm&#xff08;算子&#xff09; create_ocr_class_svm - 使用支持随机向量机制创建OCR分类器。 create_ocr_class_svm&#xff08;:: WidthCharacter&#xff0c;HeightCharacter&#xff0…

码率跟视频质量有关系

码率跟视频质量有关系.首先要清楚, 相同的视频编码方式下, 码率越高肯定画面越清晰. 但是高到一定值, 再往上的画面改善程度就不明显了, 只会增大文件体积. 所以码率选的合适, 才可以保证清晰度又保持文件不会太大. 个人经验如果是h.264编码(当前最好的视频压缩编码方案), …

SQL 字符串分割表函数

1 --字符串分割表函数2 declare str varchar(1000)3 declare split varchar(10) 4 5 declare i int;6 declare count int;7 8 declare ChildStr varchar(1000);9 declare splitStr varchar(1000); 10 declare Index int; 11 12 declare table as table (rowId int,splitStr va…

语句:分支语句、switch case ——7月22日

语句的类型包括&#xff1a;声明语句、表达式语句、选择语句、循环语句、跳转语句、异常语句 1&#xff0e;声明语句引&#xff1a;入新的变量或常量。 变量声明可以选择为变量赋值。 在常量声明中必须赋值。 例如&#xff1a; int i 0;//声明变量i 并赋值&#xff0c;也可以不…

halcon write_ocr_trainf 将训练字符存储到文件中

目录write_ocr_trainf&#xff08;运算符&#xff09;描述参数write_ocr_trainf&#xff08;运算符&#xff09; write_ocr_trainf - 将训练字符存储到文件中。 write_ocr_trainf&#xff08;Character&#xff0c;Image :: Class&#xff0c;TrainingFile ? 描述 运算符w…

码率计算文章

http://bbs.dvbcn.com/showtopic-41431-1.html

PostgreSQL Oracle 兼容性之 - INDEX SKIP SCAN (递归查询变态优化) 非驱动列索引扫描优化...

标签 PostgreSQL , Oracle , index skip scan , 非驱动列条件 , 递归查询 , 子树 背景 对于输入条件在复合索引中为非驱动列的&#xff0c;如何高效的利用索引扫描&#xff1f; 在Oracle中可以使用index skip scan来实现这类CASE的高效扫描&#xff1a; INDEX跳跃扫描一般用在W…

如何确定镜头CCD靶面尺寸?

在组建机器视觉系统时&#xff0c;需要选用适合实际应用的产品。今天&#xff0c;中国机器视觉商城的培训课堂为您带来的是关于工业镜头CCD靶面尺寸的确定方法。 在选择镜头时&#xff0c;我们通常要注意一个原则&#xff1a;即小尺寸靶面的CCD可使用对应规格更大的镜头&#x…

lua去掉字符串中的UTF-8的BOM三个字节

废话不多说&#xff0c;还是先说点吧&#xff0c;项目中lua读取的text文件如果有BOM&#xff0c;客户端解析就会报错&#xff0c;所以我看了看&#xff0c;任务编辑器swGameTaskEditor 在写入文件的时候&#xff0c;也不知道为什么有的文件就是UTF-8BOM格式&#xff1b;但一般都…