Halcon纹理分析texture_laws/trans_from_rgb

Halcon纹理分析

文章目录

  • Halcon纹理分析
    • 1. 纹理滤波器
    • 2. 织物折痕检测

纹理是图像表面的一种灰度变化。有的纹理很规则,会以局部小区域为单元重复出现,而有的纹理则呈现出随机性。对于规则的纹理,可以很容易地从中分辨出重复的区域,这些局部的、重复的部分称为纹理单元。
对于一些灰度变化复杂,很难用颜色分析去处理的图像,不妨使用纹理分析。纹理滤波器可以很方便地找出纹理的位置和内容。

1. 纹理滤波器

Halcon中的纹理滤波器的原理是,使用一个特殊的滤波器作为纹理算子,在图像上进行滤波操作,以增强或者抑制特定的纹理图像。经过纹理滤波器处理后的图像会被分割成若干个有相同图像的纹理单元。Halcon的标准纹理滤波器是texture_laws算子,该算子提供了各种纹理滤波器的集合。滤波器的类型有7种:level、edge、spot、wave、ripple、undulation、oscillation。
texture laws算子用于对纹理进行滤波,它根据参数设定的规则,对图像进行纹理变换。其参数如下。
(1)参数1为输入图像Image。
(2)参数2为输出纹理。
(3)参数3为滤波的类型FilterType。这里的类型参数由两个字母组成,两个字母都取自7种滤波器类型的首字母,如1表示 level,e表示edge,s表示spot等。第1个字母表示行方向上的滤波类型,第2个字母表示列方向上的滤波类型,如ss 表示两个方向都使用spot 滤波器。
(4)参数4为偏移量shift。当灰度值大于255时,可降低灰度值。该参数用于调整结果图像的灰度,默认为2。
(5)参数5为滤波器的卷积核尺寸,默认为5,可选择的有3、5、7。

2. 织物折痕检测

本部分举一个实例介绍纹理检测的用法。纹理检测常用于检测织物中的跳线、缺色、折痕等瑕疵。图(a)采集自一块有折痕的布料,这里使用texture_laws算子检测出纹理的异常区域。图(b)显示了纹理检测后的结果,然后经过阈值等形态学处理,将异常区域显示出来,如图(c)所示。
在这里插入图片描述
该程序的代码如下:

*读取布料的图像
read_image (Image, ' data/cloth')
*将图像分解成R、G、B3个通道
decompose3 (Image, Image1, Image2, Image3)
*将R、G、B3个通道的图像转化为HSV颜色空间
trans_from_rgb (Imagel, Image2, Image3, ImageResultl, ImageResult2, ImageResult3, 'hsv')
*进行纹理检测
*其中选择的滤波器类型是1s,即行方向用leve1,列方向用spot 进行检测
*这种滤波器类型适合检测垂直方向上的缺陷
texture_laws (ImageResult2, ImageTextureLs,'ls', 2, 7)
*对经过滤波器处理后的图像进行均值化,使图像更平滑,缺陷区域更明显
mean_image (ImageTextureLS, ImageMean, 11, 11)
*对检测出的缺陷区域进行形态学处理并显示出来
threshold (ImageMean, Regions, 60, 255)
*将符合条件的区域分割成独立区域
connection(Regions, ConnectedRegions)
*计算各区域的面积,提取出面积最大的区域
area_center (ConnectedRegions, Area, Row, Column)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', max(Area),99999)
*进行闭运算,提取出缺陷区域
closing_circle(SelectedRegions, RegionClosing, 11.5)
dev_clear_window ()
dev_display (RegionClosing)

本例主要介绍了纹理滤波器的应用。在应用纹理滤波器之前,也可以使用傅里叶变换,增强图像中灰度变化剧烈的区域,使检测更加方便。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

二级路由的配置以及注意项

二级路由 比如说LayOut组件是父亲,LayOut和ArtComp是儿子,那我们怎么给儿子配路由呢? 1、首先在router下的index.js导入组件,配置规则,详细如下 // 导入路由相关组件 import LayOut from /views/LayOut import UserC…

C#中使用as关键字将对象转换为指定类型

目录 一、定义 二、示例 三、生成 使用as关键字可以将对象转换为指定类型,与is关键字不同,is关键字用于检查对象是否与给定类型兼容,如果兼容则返回true,如果不兼容则返回false。而as关键字会直接进行类型转换,如果…

【VS】NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。

问题描述 报错 NETSDK1045 严重性代码说明项目文件行禁止显示状态错误NETSDK1045当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低版本设置为目标,或使用支持 .NET 6.0 的 .NET SDK 版本。RCSoftDrawMicrosoft.NET.TargetFrameworkInference.ta…

【每日一题】一周中的第几天

文章目录 Tag题目来源解题思路方法一:模拟 写在最后 Tag 【模拟】【数学】【2023-12-30】 题目来源 1185. 一周中的第几天 解题思路 方法一:模拟 思路 题目中的日期是在 1971 到 2100 年之间的有效日期,即 1971-01-01 到 2100-12-31 范围…

精致旅游公司Treker网页设计 html模板

一、需求分析 旅游网站通常具有多种功能,以下是一些常见的旅游网站功能: 酒店预订:旅游网站可以提供酒店预订服务,让用户搜索并预订符合其需求和预算的酒店房间。 机票预订:用户可以通过旅游网站搜索、比较和预订机票…

前端 js 基础(2)

js For In for in 循环遍历 person 对象每次迭代返回一个键 (x)键用于访问键的值键的值为 person[x] 如果索引顺序很重要,请不要在数组上使用 for in。 索引顺序依赖于实现,可能不会按照您期望的顺序访问数组值。 当顺序很重要时,最好使用 f…

c++哈希表——超实用的数据结构

文章目录 1. 概念引入1.1 整数哈希1.1.1 直接取余法。1.1.2 哈希冲突1.1.2.1 开放寻址法1.1.2.2 拉链法 1.2 字符串哈希 3.结语 1. 概念引入 哈希表是一种高效的数据结构 。 H a s h Hash Hash表又称为散列表,一般由 H a s h Hash Hash函数(散列函数)与链表结构共同…

[电磁学]猴博士不挂科

1 利用表格求场强 2 利用叠加求场强 3 利用积分求场强 电场立库仑力 球的面积公式是4πr,其中r为球的半径。 球的体积公式是(4/3)πr,其中r为球的半径。 带电物体有体积:

数据采集遇到验证码校验的一般破解方式简述

背景 百度自动采集是一种高效的数据采集方法,但是在采集过程中经常会遇到图片验证码的问题,从而导致采集失败。那么有没有什么方法可以绕过图片验证呢?本文将为您详细介绍。 解决方案 一、使用OCR技术识别验证码 OCR技术可以识别图片中的…

【AI生活】“智能家居:要便利,也要隐私保护“

智能家居:要便利,也要隐私保护 在数字化时代,人工智能(AI)已经深入到我们的生活中,为我们带来了极大的便利。从智能家居到自动驾驶,从智能医疗到智能金融,AI正以前所未有的速度和规…

解决RestHighLevelClient报错missing authentication credentials for REST request

使用ElasticSearch Java API时遇到错误 "missing authentication credentials for REST request" 这是代码: RestHighLevelClient esClient new RestHighLevelClient(RestClient.builder(new HttpHost("localhost",9200,"http")));CreateIndexR…

openGauss学习笔记-180 openGauss 数据库运维-升级-升级前必读

文章目录 openGauss学习笔记-180 openGauss 数据库运维-升级-升级前必读180.1 升级方案180.2 升级前的版本要求180.3 升级影响和升级约束 openGauss学习笔记-180 openGauss 数据库运维-升级-升级前必读 180.1 升级方案 本节为指导用户选择升级方式。 用户根据openGauss提供的…

鸿蒙OS应用开发之气泡提示

前面学习了弹窗提示,其实有时候只是想在旁边做一些说明,那么采用弹窗的方式就比较麻烦一些,这时可以采用系统里面的气泡提示方式。 系统也提供了几种方式弹出气泡提示,最简单的一种是采用bindPopup属性。它的定义如下: 在后面的参数设置里,也是比较复杂的形式。我们先来演…

ESP32入门六(读取引脚的模拟信号[3]:信号出现误差的原因[硬件篇])

在之前的文章中,我们介绍了ESP32在读取模拟信号时出现的误差的软件方面原因,在这一篇中,将会介绍并测试由于硬件或其它方面导致数据出现误差的原因。 一、厂商原因 首先,我们需要知道,在每块EPS32中,在出…

网络安全—认证技术

文章目录 加密认证对称密钥体制公钥密码体制公钥的加密公钥身份认证和加密 鉴别码认证MAC鉴别码 报文摘要认证认证 加密只认证数字签名 通过了解以前前辈们使用的消息认证慢慢渐进到现代的完整的认证体系。所以在学习的时候也很蒙圈,因为前期的很多技术都是有很严重…

第七课:计算机网络、互联网及万维网(WWW)

第七课:计算机网络、互联网及万维网(WWW) 第二十八章:计算机网络1、局域网 Local Area Networks - LAN2、媒体访问控制地址 Media Access Control address - MAC3、载波侦听多路访问 Carrier Sense Multiple Access - CSMA4、指数…

mac中excel条件格式找到每一列的最大值并标红

假设现在excel有A1:R24组数据,最终效果如下 先选择要处理数据的第一列,然后点击【条件格式】-【新建规则】 style选择【classic】以及【Use a formula to determine which cells to format】,输入规则【C3MAX(C$3:C$24)】 注意这里C$3前面没…

结构体:子网掩码

#include<iostream> using namespace std; union IP //创建共用体 {unsigned char a[4];unsigned int ip; }; IP getIP() //获取ip函数 {int a, b, c, d;scanf_s("%d.%d.%d.%d", &a, &b, &c, &d);IP address;address.a[3] a; address.a[2] …

【12月比赛合集】22场可报名的数据挖掘大奖赛,任君挑选!

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 Kaggle&#xff08;5场比赛&#xff09;阿里天池&#xff08;…

人工智能——移动摄影技术

目录 封面 1 .移动计算摄影简介 2.手机相机的硬件限制 2.1 传感器尺寸和镜头孔径 2.2 噪声和动态范围 2.3 景深 2.4 变焦 2.5 色彩欠采样 3 .相机图像处理流水线 3.1 相机传感器 3.2 相机流水线 5.拓展 1 .移动计算摄影简介 现代数字摄影的进度始终伴随着图像传感器…