halcon 自定义距离10的一阶导数幅图,摆脱sobel的3掩码困境

一,为什么要摆脱3的掩码

在处理图像的过程中,会用到平滑算子,很容易破坏边际,所谓的一阶导数sobel只计算掩码为3的差分,在幅度图分割中,往往是很难把握的

举个例子-现在图像头平滑好了,缺陷跟背景的差值在15左右,那我们如何在sobel幅度图中进行提取呢,我认为很难。那这时候就需要我们做一个自定义的幅度图,在本例子中,我们定义缺陷的边缘与背景边缘的交接地带在6个像素左右,我们来做一个幅度图,以每个点与远处10个像素的差值进行计算求幅度图,对幅度图进行15*0.9到15*1.1的预制进行分割,提取边界。

玩法很多,这里只作为一阶导来玩,增强对一阶导的理解

二,做一个x方向的距离10的一阶幅度图。

1)求距离为10的一阶偏导,最简单的方法就是,图像相减

2)将图像右移10个像素得到image1,然后用Image-image1对应位置的像素,就得到了image的距离为10的一阶偏导subimage。

3)subimage进行   15*0.9-15*1.1的正向分割,就得到了图像的左侧边界

再进行 -15*1.1导-15*0.9的负相分割,就得到右侧边界。但右侧边界会比图像有10个像素的位置便宜,需要我们移动过去。

4)再以此方式求出垂直方向的区域,四个区域的相加,就是目标区域的完整边界区域

5)以此为封闭区域可以求出边界

三,插入了自己的实验代码,希望多多交流

分享让我在问题上能更进一步的思考

如果您觉得我喷的,不是知识垃圾,可点赞或者留言告知

gen_image_const (Image, 'real', 512, 512)
paint_region (Image, Image, ImageResult, 100, 'fill')
dev_open_window_fit_image (ImageResult, 0, 0, -1, -1, WindowHandle)
gen_circle (Circle, 200, 200, 100.5)
paint_region (Circle, ImageResult, ImageResult1, 200, 'fill')

mean_image (ImageResult1, ImageMean, 5, 5)
**将图像右移10个像素
vector_angle_to_rigid (10, 0,0 ,10,10 ,0 , HomMat2D)
affine_trans_image (ImageMean, ImageAffineTrans, HomMat2D, 'constant', 'false')

get_domain (ImageAffineTrans, Domain)
reduce_domain (ImageAffineTrans, Domain, ImageReduced)
paint_gray (ImageReduced, ImageResult, MixedImage)

sub_image (ImageMean, MixedImage, ImageSub, 1, 0)

threshold (ImageSub, Region, 95, 105)

threshold (ImageSub, Region1, -105, -95)

hom_mat2d_invert (HomMat2D, HomMat2DInvert)
affine_trans_region (Region1, RegionAffineTrans, HomMat2DInvert, 'constant')

union2 (RegionAffineTrans, Region, RegionUnion)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/873200.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在亚马逊云科技上利用Graviton4代芯片构建高性能Java应用(上篇)

简介 在AI迅猛发展的时代,芯片算力对于模型性能起到了至关重要的作用。一款能够同时兼具高性能和低成本的芯片,能够帮助开发者快速构建性能稳定的生成式AI应用,同时降低开发成本。今天小李哥将介绍亚马逊推出的4代高性能计算处理器Gravition…

使用vscode上传git远程仓库流程(Gitee)

目录 参考附件 git远程仓库上传流程 1,先将文件夹用VScode打开 2,第一次进入要初始化一下仓库 3,通过这个(.gitignore)可以把一些不重要的文件不显示 注:(.gitignore中)可屏蔽…

如何将代理IP设置为ISP:详细指南

在当今互联网时代,代理IP已经成为许多用户保护隐私和提升网络体验的重要工具。而ISP(Internet Service Provider)的代理IP更是因为其高质量和稳定性备受青睐。本文将详细介绍如何将代理IP设置为ISP,让你在网络世界中享受更优质的上…

RISC-V (十一)软件定时器

主要的思想:硬件定时器是由硬件的定时器设备触发的。软件定时器在硬件定时器的基础上由软件控制实现多个定时器的效果。主要的思路是在trap_handler函数中加入软件代码,使其在设定的时间点 去执行想要执行的功能函数。 定时器的分类 硬件定时器&#xf…

计算机网络(二) —— 网络编程套接字

目录 一,认识端口号 1.1 背景 1.2 端口号是什么 1.3 三个问题 二,认识Tcp协议和Udp协议 三,网络字节序 四,socket编程接口 4.1 socket常见API 4.2 sockaddr结构 一,认识端口号 1.1 背景 问题:在进…

网络安全运维培训一般多少钱

在当今数字化时代,网络安全已成为企业和个人关注的焦点。而网络安全运维作为保障网络安全的重要环节,其专业人才的需求也日益增长。许多人都对网络安全运维培训感兴趣,那么,网络安全运维培训一般多少钱呢? 一、影响网络安全运维培…

算法训练营——day4螺旋矩阵

1 螺旋矩阵II-力扣59(中等) 1.1 题目:螺旋矩阵II 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出&…

算法学习:滑动窗口

题目 滑动窗口 滑动窗口的题目在解决统计连续带特殊要求的元素串问题时作用巨大。逃离仅仅只是套路学习的黑洞,我认为这种方法在无序的统计中,找到了有序的切入点。初看题目时,可以想到的统计方法有很多,但实现在计算机上则必须有…

贝锐蒲公英远程视频监控方案:4G入网无需公网IP,跨品牌统一管理

在部署视频监控并实现集中监看时,常常会遇到各种挑战。比如:部分监控点位布线困难、无法接入有线宽带,或是没有固定公网IP,难以实现远程集中监看;已有网络质量差,传输延迟大、丢包率高,远程实时…

【王树森】BERT:预训练Transformer模型(个人向笔记)

前言 BERT:Bidirectional Encoder Representations from TransformerBERT是用来预训练Transformer模型的encoder的本节课只讲述主要思想BERT用两个主要思想来训练Transformer的encoder网络:①随机遮挡单词,让encoder根据上下文来预测被遮挡的…

C语言蓝桥杯

一、语言基础 竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_search函数&…

win12R2安装.NET Framework 3.5

一丶安装原因 因此插件的缺失, 有些软件或系统不支持安装. 二丶安装步骤 1丶下载.NET Framework 3.5 点击插件下载, 提取码: 1995, 下载完成之后解压到想要安装的位置上. 2丶打开 服务器管理器 3丶点击: 管理 -> 添加角色和功能 4丶点击下一步到服务器角色, 选择web服…

Android应用开发项目式教程——序

Android技术 Android是重要的客户端技术,因其开源开放的特点,Android在其初期就迅速成长为智能手机的主流操作系统,近年来更进一步成为智能电视、智能车载终端等智能设备的主流操作系统,其活跃设备数量已经超过30亿台&#xff0c…

通用内存快照裁剪压缩库Tailor介绍及源码分析(一)

背景 我们知道内存快照是治理 OOM 问题及其他类型的内存问题的重要数据源,内存快照中保存了进程虚拟机的完整的堆内存数据,很多时候也是调查其他类型异常的重要参考。但是dump出来的堆转储文件.hprof往往很大,以 LargeHeap 应用为例&#xf…

吐血整理 ChatGPT 3.5/4.0 新手使用手册~ 【2024.09.04 更新】

以前我也是通过官网使用,但是经常被封号,就非常不方便,后来有朋友推荐国内工具,用了一阵之后,发现:稳定方便,用着也挺好的。 最新的 GPT-4o、4o mini,可搭配使用~ 1、 最新模型科普&…

XGBoost算法-上

简单解释一下xgboost这个模型 xg是一个非常强大,非常受欢迎的机器学习模型,其中最大的特色就是boosting(改进、推进),怎么改进呢?就是xgboost这个算法,它会先建立一颗简单的决策树,…

虚拟机ubuntu配置opencv和opencv_contrib

前期准备 1.下载opencv和opencv_contrib源码 opencv-4.6.0:https://opencv.org/releases/ opencv_contrib-4.6.0:https://github.com/opencv/opencv_contrib 在ubuntu直接下载或者在window上下好传到虚拟机里都可以 自己找个地方把他们解压&#xf…

【Python篇】PyQt5 超详细教程——由入门到精通(终篇)

文章目录 PyQt5超详细教程前言第9部分:菜单栏、工具栏与状态栏9.1 什么是菜单栏、工具栏和状态栏9.2 创建一个简单的菜单栏示例 1:创建带有菜单栏的应用程序代码详解: 9.3 创建工具栏示例 2:创建带有工具栏的应用程序代码详解&…

Banana Pi BPI-SM9 AI 计算模组采用算能科技BM1688芯片方案设计

产品概述 香蕉派 Banana Pi BPI-SM9 16-ENC-A3 深度学习计算模组搭载算能科技高集成度处理器 BM1688,功耗低、算力强、接口丰富、兼容性好。支持INT4/INT8/FP16/BF16/FP32混合精度计算,可支持 16 路高清视频实时分析,灵活应对图像、语音、自…

多个路由器级联实现子网的方式

好久没写博客啦,最近搬家,换了网络环境,简单记录一下网络配置。 拓扑图就不画了,光猫 - > 华为TC7102路由 -> 华为AX2 Pro路由 -> 各种设备,简单表示就是这样。 原因是第一个路由是房东的,我希望自…