当前位置: 首页 > news >正文

【科研小小白】灰度化处理、阈值、反色、二值化、边缘检测;平滑;梯度计算;双阈值检测;非极大值抑制

什么是灰度化处理?

灰度化处理是将彩色图像转换为灰度图像的过程。在彩色图像中,每个像素通常由红(R)、绿(G)、蓝(B)三个通道组成。每个通道的取值范围通常在0到255之间。通过灰度化处理,我们把图像从RGB三通道降维为单通道,每个像素值表示该像素的亮度。

在灰度图像中,像素值范围从0到255,其中0代表黑色,255代表白色,介于两者之间的值则表示不同深浅的灰度级。

灰度化的计算方法:
通常采用以下公式将RGB值转换为灰度值:

Gray=0.299×R+0.587×G+0.114×B
这个公式是基于人眼对不同颜色的敏感度确定的,绿光对亮度的贡献最大,蓝光最小。


什么是阈值?

阈值是指在图像处理中的一个数值界限,用于将图像的像素划分为不同的类别。
在阈值分割中,阈值用于区分前景和背景。例如,将灰度图像的像素值与一个预设的阈值进行比较,大于阈值的像素被标记为前景,反之则标记为背景。

阈值的作用:

  • 全局阈值:全局设置一个固定的阈值,用于对整个图像进行分割。
  • 局部阈值:根据图像的局部信息动态调整阈值,适合光照不均的场景。
  • Otsu阈值法:自动选择最佳阈值的算法,最大化前景和背景之间的方差差异。

二值化(Binarization)

一种图像处理技术,将图像中的像素值转换为0或1,也就是将图像转变为仅有黑白两种颜色的形式。这通常用于简化图像数据,尤其是在处理灰度图像或其他多色图像时。

主要过程:

  1. 选择阈值:对于每个像素,比较其灰度值(通常为0到255之间的数值)与指定的阈值。如果像素的值大于阈值,将其设为1(白);否则设为0(黑)。
  2. 生成二值图像:通过遍历整个图像,对每个像素进行比较,并将结果存储在新的二值图像中

应用场景:

  • 文本提取: 用于扫描文档的文字识别(OCR)。
  • 物体识别: 在计算机视觉中将背景与前景区分开。
  • 边缘检测: 在某些算法中,通过二值化来简化图像内容,从而更容易进行边缘、轮廓的检测。

示例: 假设有一个灰度图像像素矩阵如下:

[ 50, 200, 150, 220 ]
[ 30, 100, 180, 210 ]
[ 60, 90, 130, 240 ]
[ 10, 80, 170, 190 ]

给定阈值 150,应用二值化后,将得到二值矩阵:

[ 0, 1, 0, 1 ]
[ 0, 0, 1, 1 ]
[ 0, 0, 0, 1 ]
[ 0, 0, 1, 1 ]

这样,原图像中的灰度信息被简化为黑白图像,方便进一步分析和处理。


反色(Negative Image)和轮廓描绘(Edge
Detection)是数字图像处理中的两种常见技术,通常用于增强图像的视觉特征,或进行更深入的分析与处理。

反色(Negative Image)

反色是一种将图像的颜色或灰度值反转的技术,它可以应用于彩色图像或灰度图像中。

操作原理:

  • 对于灰度图像,反色是将每个像素的灰度值变成其最大值(通常为255)减去当前值。
  • 如果像素值是 I(x, y),那么反色后的像素值 I’(x, y) 计算公式为:
    在这里插入图片描述

对于彩色图像,反色会对每个颜色通道(RGB中的每一个通道)分别进行上述运算。

**应用场景:
视觉增强:**有时反色可以突出图像中的某些细节。
医学影像:X光图像和显微镜图像经常采用反色效果,以增强对比度。
示例: 假设灰度图像像素值为 150,则反色后的像素值为 255 - 150 = 105


轮廓描绘(Edge Detection)

轮廓描绘,也称为**边缘检测,**是用于识别图像中强烈变化区域的技术,特别是像素亮度的急剧变化区域。轮廓通常对应于物体的边界或图像中的显著变化区域。

操作原理:

  • 梯度计算: 通过计算图像中的亮度变化率(即梯度),来识别图像中的边缘。常见的边缘检测算法包括:
  • Sobel算子: 计算水平和垂直方向的梯度。
  • Canny边缘检测器: 一种更加复杂且效果良好的边缘检测算法,包含平滑、梯度计算、非极大值抑制和双阈值检测等步骤。

应用场景:

  • 物体识别与分割:在图像中识别物体的轮廓,以便进行分割和识别。
  • 形状分析:通过轮廓描绘获得物体的形状特征。

示例: 使用Sobel算子进行边缘检测的图像,可以得到这样的结果:
原始图像中某物体的边缘会变成高亮的白色,而背景则被滤除,变成黑色。

补充:
1. 平滑(Smoothing)
平滑是减少图像中的噪声,使得边缘检测过程更加准确的预处理步骤。通常通过卷积滤波器(如高斯滤波)来进行平滑处理。

使用方法: 使用高斯滤波器来对图像进行平滑处理,以减少图像中的噪声,同时保留重要的边缘信息。典型实现方式是通过OpenCV的 cv2.GaussianBlur 函数。

# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)# 使用高斯滤波进行平滑处理
smoothed_image = cv2.GaussianBlur(image, (5, 5), 1.4)
  • 解释:
  • (5, 5):高斯核的大小,即滤波器的尺寸。
  • 1.4:高斯核的标准差,决定平滑的强度

2. 梯度计算(Gradient Calculation)
梯度计算是检测图像中像素值变化的程度和方向。
边缘通常出现在像素值急剧变化的区域,因此通过计算图像的梯度,可以识别这些变化。

使用方法: 梯度通常通过Sobel算子或Prewitt算子来计算,分别计算X方向和Y方向的梯度。

# Sobel算子计算X方向和Y方向的梯度
sobel_x = cv2.Sobel(smoothed_image, cv2.CV_64F, 1, 0, ksize=3)
sobel_y = cv2.Sobel(smoothed_image, cv2.CV_64F, 0, 1, ksize=3)# 计算梯度幅度
gradient_magnitude = np.sqrt(sobel_x**2 + sobel_y**2)
  • 解释:
  • 1, 0 和 0, 1:分别计算X方向和Y方向的梯度。
  • ksize:高斯核的标准差,决定平滑的强度

3.非极大值抑制(Non-Maximum Suppression, NMS)
非极大值抑制是一种细化边缘的技术,用于去除非边缘点。即在局部区域内,只有梯度值最大的点被保留为边缘,其他点则被抑制。

  • 使用方法: 在实现Canny边缘检测时,通常在计算梯度后应用非极大值抑制来消除梯度幅度不强的边缘。

    实现思路: 对每个像素,通过比较其梯度值与邻域内的梯度值,保留局部最大值,将其他像素设置为0。具体的OpenCV实现已内置在Canny边缘检测算法中,不需要手动实现。

4. 双阈值检测(Double Thresholding)
双阈值检测通过设置两个阈值,将边缘点分为强边缘、弱边缘和非边缘。强边缘直接保留,弱边缘会根据与强边缘的连接性来决定是否保留,而非边缘则被去除。

使用方法: 在Canny边缘检测中,双阈值检测是关键步骤之一,用来区分强边缘和弱边缘。

# Canny边缘检测,使用双阈值
edges = cv2.Canny(smoothed_image, 100, 200)
  • 解释:
  • 100:低阈值,定义弱边缘。
  • 200:高阈值,定义强边缘


双阈值的目的是保留强边缘,同时在弱边缘之间进行更精细的处理,防止过多噪声影响结果。

总结
平滑:减少噪声,常用高斯滤波。
梯度计算:通过Sobel等算子计算X和Y方向的像素变化。
非极大值抑制:细化边缘,仅保留局部最大梯度的点。
双阈值检测:根据强边缘和弱边缘进行分类处理,保留重要的边缘信息。


相关文章:

【科研小小白】灰度化处理、阈值、反色、二值化、边缘检测;平滑;梯度计算;双阈值检测;非极大值抑制

什么是灰度化处理? 灰度化处理是将彩色图像转换为灰度图像的过程。在彩色图像中,每个像素通常由红(R)、绿(G)、蓝(B)三个通道组成。每个通道的取值范围通常在0到255之间。通过灰度化…...

数字经济时代,零售企业如何实现以消费者为中心的数字化转型?

在数字经济时代,零售企业正面临着前所未有的挑战与机遇。随着消费者行为的数字化和多样化,传统的零售模式已难以满足市场需求。为了在激烈的市场竞争中立于不败之地,零售企业必须实现以消费者为中心的数字化转型。这一转型不仅仅是技术的升级…...

微积分复习笔记 Calculus Volume 1 - 1.5 Exponential and Logarithmic Functions

1.5 Exponential and Logarithmic Functions - Calculus Volume 1 | OpenStax...

代码随想录 刷题记录-24 图论 (1)理论基础 、深搜与广搜

一、理论基础 参考: 图论理论基础 深度优先搜索理论基础 广度优先搜索理论基础 dfs dfs搜索可一个方向,并需要回溯,所以用递归的方式来实现是最方便的。 有递归的地方就有回溯,例如如下代码: void dfs(参数) {…...

MyBatis 缓存机制详解:原理、应用与优化策略

一、MyBatis 缓存概述 1.1 什么是缓存? 缓存是一种提高系统性能的技术,通过将常用的数据保存在内存中,减少对底层数据源(如数据库)的访问次数,从而加快数据读取速度。 在 MyBatis 中,缓存的主要目的是通过存储查询结果,减少对数据库的直接查询次数,提升系统性能。 …...

跨越技术壁垒:EasyCVR为何选择支持FMP4格式,重塑视频汇聚平台标准

随着物联网、大数据、云计算等技术的飞速发展,视频监控系统已经从传统的安防监控扩展到智慧城市、智能交通、工业制造等多个领域。视频流格式作为视频数据传输与存储的基础,其兼容性与效率直接影响到整个视频监控系统的性能。 在众多视频流格式中&#…...

美团OC感想

OC感想 晚上十点拿到美团意向了 到家事业部。,日常实习没过,暑期实习没过,秋招终于意向了,晚上十点发的,整整激动到一点才睡着,不仅因为这是秋招的第一个意向,更因为这是我一直心心念念想去的地…...

搜维尔科技:AcuMap - 针灸模拟VR训练解决方案

AcuMap第一个针灸VR训练解决方案。全面且医学上准确的人体映射,其中 14 条经络和 361 个穴位以 3D 形式可视化。您还可以在虚拟人体模型上模拟针刺。主要特点 - 可视化 14 条经络及其分支 - 基于 4 个主要类别的 361 个穴位:五行、危险穴位、补邪和特殊穴…...

WEB渗透权限维持篇-禁用Windows事件日志

往期文章WEB渗透权限维持篇-DLL注入\劫持-CSDN博客 WEB渗透权限维持篇-CLR-Injection-CSDN博客 WEB渗透权限维持篇-计划任务-CSDN博客 WEB渗透权限维持篇-DLL注入-修改内存中的PE头-CSDN博客 WEB渗透权限维持篇-DLL注入-进程挖空(MitreT1055.012)-CSDN博客 WEB渗透权限维…...

【设计模式】Template Method伪代码

1. 不好的代码 1.1 lib.cpp class Library{ public:void Step1(){//...}void Step3(){//...}void Step5(){//...} };1.2 app.cpp class Application{ public:bool Step2(){//...}void Step4(){//...} };int main() {Library lib();Application app();lib.Step1();if(app.Ste…...

关于2023.9.2~2023.9.10学习总结与教训

关于2023.9.2~2023.9.10学习总结与教训 语文古诗文与古诗基础阅读作文 数学几综卷子 英语物理政治总结待寻找的学习方法需应用的学习方法 语文 古诗文与古诗 背诵岳阳楼记和醉翁亭记的经验告诉我,应该在背诵时附以抄写同时在背下来后还应该去默写纠错,…...

NLTK:Python自然语言处理工具包及其参数使用详解

NLTK(Natural Language Toolkit)是一个领先的平台,用于构建处理人类语言数据的Python程序。它提供了易于使用的接口,用于超过50个语料库和词汇资源,如WordNet,以及一套文本处理库,用于分类、标记…...

php 之 php-fpm 和 nginx结合使用

php-fpm php-fpm是php面试必问的一个小考点,聊这个之前还是要铺垫一下,cgi 和 fastcgi。 CGI,通用网关接口,用于WEB服务器(比如 nginx)和应用程序(php)间的交互,简单的…...

数学建模笔记——TOPSIS[优劣解距离]法

数学建模笔记——TOPSIS[优劣解距离法] TOPSIS(优劣解距离)法1. 基本概念2. 模型原理3. 基本步骤4. 典型例题4.1 矩阵正向化4.2 正向矩阵标准化4.3 计算得分并归一化4.4 python代码实现 TOPSIS(优劣解距离)法 1. 基本概念 C. L.Hwang和 K.Yoon于1981年首次提出 TOPSIS(Techni…...

证书学习(四)X.509数字证书整理

目录 一、X.509证书 介绍1.1 什么是 X.509证书?1.2 什么是 X.509标准?1.3 什么是 PKI?二、X.509证书 工作原理2.1 证书认证机构(CA)2.1 PKI 的基础——加密算法2.2 PKI 证书编码三、X.509证书 结构3.1 证书字段3.2 证书扩展背景: 我们在日常的开发过程中,经常会遇到各种…...

氚云,低代码领风者如何破解行业的“中式焦虑”?

To B生意“难做”,很多公司的苦恼都难以掩盖。 上半年,一个“中国软件行业全军覆没”的帖子引发热烈讨论,评论竟是赞同的居多。那些以实现上市为目标的SaaS公司,或者已经上市的、主营业务为To B的企业,其整体的业绩状…...

“深入解析:MySQL半同步复制的配置指南与实践技巧“

本次配置是在已搭建好主从复制的架构中进行配置 配置环境 操作系统 master节点 slave节点 centos7 8.0.37 8.0.37 配置半同步复制 配置master 安装master半同步复制插件 INSTALL PLUGIN rpl_semi_sync_source SONAME semisync_source.so; 在MySQL的配置文件中添加配置…...

第四届长城杯部分wp

还是太菜了,要经常练了 1.BrickGame 读源码可以看到时间的值是由js设定的,所以控制台将timeleft的时间改成999999 通过游戏就可以得到flag 2.SQLUP 一道文件上传的题目,在登陆页面我用admin和1登陆成功了,但是按照正常的应该是…...

打造无死角安防网:EasyCVR平台如何助力智慧警务实现视频+AI的全面覆盖

一、背景概述 随着科技的飞速发展,智慧城市建设已成为提升社会治理能力、增强公共安全水平的重要途径。在警务领域,智慧警务作为智慧城市的重要组成部分,正通过融合视频监控技术与人工智能(AI)解决方案,实…...

批发订货系统源码怎么弄 门店订货系统小程序价格

上线批发订货系统可以显著提升业务效率和管理水平,它能够帮助企业自动化处理订单、实时跟踪库存、简化订单管理、生成数据报表…这些优势能最终帮助你降低成本、提高效率,提升业务竞争力。今天,小编为您分享批发订货系统源码怎么弄。大家点赞…...

Chrome二维码插件:跨设备链接传输的智能解决方案

Chrome二维码插件:跨设备链接传输的智能解决方案 【免费下载链接】chrome-qrcode :zap: A Chrome plugin to Genrate QRCode of URL / Text, or Decode the QRcode in website. 一个Chrome浏览器插件,用于生成当前URL或者选中内容的二维码,同…...

从SysTick中断到任务就绪:深入追踪FreeRTOS一次Tick如何触发PendSV切换

从SysTick中断到任务就绪:深入追踪FreeRTOS一次Tick如何触发PendSV切换 在嵌入式实时操作系统的世界里,任务切换的精确性和可靠性直接决定了系统的实时性能。对于使用FreeRTOS的开发者而言,理解从SysTick中断到最终任务切换的完整链条&#x…...

Nexus Mods App终极指南:5分钟掌握专业游戏模组管理

Nexus Mods App终极指南:5分钟掌握专业游戏模组管理 【免费下载链接】NexusMods.App Home of the development of the Nexus Mods App 项目地址: https://gitcode.com/gh_mirrors/ne/NexusMods.App Nexus Mods App是一款革命性的游戏模组管理工具&#xff0c…...

AI 工具规模化滥用下钓鱼攻击演化机理与闭环防御研究

【摘要】Cisco Talos 2026 年第一季度事件响应报告显示,生成式 AI 工具被大规模用于网络钓鱼产业化制造,钓鱼攻击重新成为威胁系统安全的首要挑战。随着机构漏洞修复能力提升,攻击重心从技术漏洞利用转向以人为核心的社会工程攻击&#xff0c…...

QKeyMapper:重新定义Windows输入控制的终极解决方案

QKeyMapper:重新定义Windows输入控制的终极解决方案 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到键鼠,手…...

DeepSpeech终极指南:离线语音识别的深度学习引擎完整实践

DeepSpeech终极指南:离线语音识别的深度学习引擎完整实践 【免费下载链接】DeepSpeech DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power G…...

书匠策AI:你的毕业论文“外挂“已上线,这功能也太懂大学生了吧!

哈喽各位同学们,我是你们的论文写作科普博主。今天不讲什么"论文写作十大技巧"那种老掉牙的东西,今天要给大家安利一个我最近发现的宝藏工具——书匠策AI, 官网直达:www.shujiangce.com,微信公众号搜"书…...

清华大学打造实时交互视频生成新方案:让AI“边想边说“不再卡顿

这项由清华大学与人民大学联合开展的研究,于2026年5月以预印本形式发布,论文编号为arXiv:2605.15141,有兴趣深入了解的读者可通过该编号查询完整论文。研究团队来自清华大学和生数科技(ShengShu),与人民大学…...

stm32F103C8T6标准库定时器应用流水灯1——相关的寄存器

目录1.SysTick介绍2.芯片架构2.1 M3系统架构图3.SysTick使用4.readme5.定时器中断配置5.1 core_cm3.h文件5.1.1 函数头注释部分5.1.2 函数名5.1.3 判断重装值是否超过 24 位5.1.4 设置重装载寄存器5.1.5 设置中断优先级5.1.6 清空当前计数器5.1.7 配置 CTRL 寄存器(…...

终极指南:如何使用qmc-decoder快速解密QMC音频文件 [特殊字符]

终极指南:如何使用qmc-decoder快速解密QMC音频文件 🎵 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder qmc-decoder是一款专为QQ音乐用户设计的QMC音…...