灰度直方图与特征直方图的使用方法
要求:将下图的
的水果提取出来,去掉logo。使用到的知识,图像采集、灰度化、二值化、特征选择。
- 灰度直方图
首先采集图像,代码如下:
read_image (Image, 'C:/Users/LWJ/Desktop/AS_1/各种颜色的水果.jpg')
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
说明:灰度直方图,顾名思义就是处理灰度图像,由于采集到的图像是彩色(RGB)图像,所以先对采集图像进行灰度化处理。对灰度化官方一点的说法就是将彩色图像中的三通道(R通道、G通道、B通道)变为一个通道(R通道=G通道=B通道)来存放灰度值(0~255),那么图像就变成灰色了,神奇吧!代码如下:
rgb1_to_gray (Image, GrayImage)
接下来点击灰度直方图的图标弹出灰度直方图的窗口,即对图像进行二值化处理,所谓的二值化就是选择一个像素值范围后,若图像中的像素值在这个范围里的就变成255,范围外的就变成0。灰度直方图窗口如下:
可以知道这个窗口的直方图是空白的,说明灰度图像没有,因此按下F5运行一遍即可获得灰度图像,然后再点击图标弹出该窗口,画面如下:
上图我特意做了一些特殊标注,也是使用灰度直方图的方法所在。
第一步:
点击阈值左侧的叉号,即选择阈值大小来做二值化处理,当然也可以点击阈值切换成缩放(缩小像素值,使亮的图像区域更亮,暗的图像区域更暗),这里我就选择阈值就好了。
第二步:
上方左侧绿色线条为该图像像素值的最小值;上方右侧红色线条为该图像像素值的最大值,这两跟线条可以按住鼠标拖动,在拖动的过程中直方图的图像区域大小也在变化,根据自己对图像区域的要求来拖动最大最小值的线条,我自己拖动效果如下:
蓝色图像区域的是自己要的,为了明确自己是否选对了,可以点击颜色右侧的按钮切换颜色,选择什么颜色,直方图中你要的区域就变什么颜色就说明选对了。
第三步:点击插入代码按钮就OK了,代码如下:
threshold (GrayImage, Regions, 0, 242)
通过插入的这行代码可以知道,该算子的第一个参数为输入图像,第二个参数为输出图像,第三第四个参数为像素值范围的最小与最大值。
按F6图形窗口变成二值化处理后的图像。
2.特征直方图
根据字面意思就能知道这是根据特征处理图像的,也就是根据形状(圆形、矩形等)特征选择图像区域 。在上述二值化处理后,图像中是一个颜色,说明是相同的区域,为了形状选择,需要分割成几块区域供选择,不然就一块区域就是单选题。现在使用connection算子进行分割区域,代码如下:
connection (Regions, ConnectedRegions)
按F6执行,效果如下图:
可以看到图形窗口上有三种颜色区域,分别为红、绿、蓝、紫,这就是分割的效果。现在开始点击特征直方图的,弹出的特征直方图窗口如下:
特征直方图的使用方法类似于灰度直方图,这里就只重点说明特征的选择这项,点击特征下的area会出现一大串英文,有行、列、高、宽等特征,剩下的本人英语不好就不一一说了,大家就自己翻译,丰衣足食嘛!思路就是选择一个特征,然后拖动最小最大值的线条来调试,看图形窗口的变化,直到满足自己的特征选择要求,如果达不到要求就多添加特则,在特征字样的左侧有个+号可以添加特征选择项。这里在安利一个窍门,即点击特征检测图标,即用来检测某块区域的参数,例如检测面积,如下图
首先在basic下选择area这项,然后鼠标选择区域,这样就实现了检测区域面积的操作,检测结果(area=123180)在右边框框显示。
接下来根据检测结果能直接在特征直方图中设置成特征选择条件,见下图
最后点击插入代码按钮,代码如下:
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 123180, 123180)
该算子的第一第二个参数分别是输入输出图像,后面是选择的特征参数。
按下F6执行这行程序,图形窗口的显示结果如下图:
至此,整个流程做完了。总结:图像采集后,若是彩色图像则要灰度化处理,然后采用灰度直方图对图像二值化处理,接着分割成若干块区域,然后采用特征直方图对分割出的多块区域进行特征筛选,假如分割出的区域不能满足特征筛选的要求,则在二值化这步的后面做一些像素值的处理,如开运算、闭运算、膨胀、腐蚀等,这样的话,分割出的区域会比较好进行特征选择的。大家在以后的练习中会用到,这里就卖个关子。
灰度直方图与特征直方图的使用方法相关推荐
- Halcon_灰度直方图和特征直方图的使用
1.灰度直方图 在进行阈值分割的时候往往要确定一定的灰度范围,把自己想要的部分分割出来,这时就需要借助灰度直方图(如下图所示). 拖拉图中1处确定最小灰度值,拖拉图中2处确定最大灰度值,区间内的范围就 ...
- pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征
pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征 博文末尾支持二维码赞赏哦 _ 如果要对一个三维点云进行描述,光有点云的位置是 ...
- 一文了解点特征直方图
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 3D中特征检测和匹配的目标与2D中大致相同:从不同的角度查找可以与 ...
- Matlab数字图像处理 02 灰度变化(图像直方图、直方图均衡化、直方图匹配)
第二章 灰度变化 2.1 图像的亮度.对比度和动态范围 2.1.1 亮度 2.1.2 对比度 2.1.3 动态范围 2.2 线性灰度变换 2.2.1 具有饱和处理的线性灰度变换 2.2.2 分段线性灰 ...
- pcl里面的点特征直方图(PFH)
表面法线和曲率可以好的代表一个点的几何特征.然而它们算得很快,而且算法简单,但是它们不能捕获细节,它们只是点的近邻的几何特征的近似估计.作为一个直接的结论,大多数的场景往往会包括很多有着相似特征的点, ...
- MATLAB:虹膜识别的图像灰度化处理,直方图均衡化
(1)图像灰度化处理: 读取一张图片之后,进行灰度化处理,然后对其进行直方图均值化. clear;close all %读取原图地址 RGB= imread('D:\img\1.jpg'); %图像灰 ...
- PCL之点特征直方图(PFH)
背景 表面法线和曲率估计是对某个点周围的几何特征的基本表示.虽计算速度快容易,但却无法获得太多信息,因为它们只使用很少的几个参数值来近似某个点的k-邻域特征.然而大多数场景会包含许多具有相同或非常相似 ...
- PCL提取3D点云模型特征(3.0 FPFH快速点特征直方图)附完整代码
一.概述 上一篇博客解释了PFH是什么以及如何利用PFH来提取点云的特征,那么讲了PFH(PCL提取3D点云模型特征(2.0 PFH点特征直方图 )附完整代码)之后肯定是要接着说FPFH的.本来想着把 ...
- 【PCL自学:Feature3】PFH点特征直方图的概念和使用 (持续更新)
一.点特征直方图(PFH)描述子介绍 Point Feature Histograms (PFH) 称为点特征直方图. 随着点特征的研究不断深入,利用点周围的邻近点估计表面法向和曲率的基本操作 ...
最新文章
- retrofit 源码分析
- 克隆Centos 无法上网
- Spring Boot自动配置原理
- Android系统版本与API级别对照表
- html table导出到Excel中,不走后台,js完成
- Python从N个数中找到最大的K个数
- PHP中插件机制的一种实现方案
- 河北二本计算机专业排名,河北省最好的二本财经类大学有哪些
- 分享一套基于SpringBoot和Vue的企业级中后台开源项目,代码很规范!
- Java容器工具类Arrays
- 全场景解析!基于 Flink 的12个实时数仓生产实践
- jQuery(3)——如何绑定事件
- 综合项目之闪讯破解(二)之 如何用C++建立PPPOE连接
- 如何免费自动将邮件发送到多个邮件地址 - 自动邮件发送器使用教程
- linux禁调usb,Linux主机禁用USB接口
- VUE游戏设计:实现外星人的攻击冲击波
- 原则与思维模型--《思维模型》2
- 关于java中JDBC读取字段属性原理
- Docker —— 从入门到实践
- STM8入门以及程序编译、烧录、IAR使用方法(扫盲篇)