温故而知新:部分常见的图像数学运算处理算法的用途

【OpenCV 】第三章: 图像运算:加法运算、位运算、掩码、位平面分解、加密、数字水印、脸部打码 第三章: 图像运算 图像加法运算          1、"+"   2、cv2.add()函数  3、图像加权和:cv2.addWeighted()函数   图像位运算(位逻辑运算) 1、按位与运算:cv2.bitwise_and()函数 2、按位或运算:cv2.bitwise_or()函数 3、按位非运算:cv2.bitwise_not()函数 4、按位异或运算:cv2.bitwise_xor()函数 掩模(掩码)参数 图像与数值的运算 图像位平面分解 图像加密解密 数字水印 阅读详情
☞ ░ 前往老猿Python博客 ░ https://blog.youkuaiyun.com/LaoYuanPython

一、引言

这阵子把以前写的《数字图像处理》学习总结相关博客看了一遍,以前写一节节的学习和记录,知识的连贯性不好,而现在温习则花的时间少,因此又有不同的感悟,这次主要是把前面内容中涉及到的图像算法做个汇总,好方便速查。

二、部分常见的简单图像数学运算处理算法及其用途介绍

  1. 图像加法主要有两种用途,一种是可用于减少甚至消除图像采集中混入的噪声,由于图像各点的采集噪声是互不相关的,且噪声具有零均值的统计特性,因此可以对图像进行多次采集形成多副图像,然后将这多副图像相加再取平均值,就可以实现噪点的消除;另一种是用来做特效,把多幅图像叠加在一起,再进一步进行处理

  2. 图像减法操作可以用于增强图像之间的差别,如血管造影照和造影前的血管照相减可以获得造影剂在血管内的分布情况

  3. 图像相乘可以用一个模板图像与对应图像相乘从而留下感兴趣的ROI区域,即ROI区域对应的模板区域元素设置为1,其他区域设置为0,再进行图像和模板相乘即可获得ROI区域,也可以一幅图像自乘再归一化处理后增大图像的对比度增大,这是因为自乘后放大了图像中的差异

  4. 图像相乘或相除可以用于阴影校正(shading correction),一般是拿一幅图像去除以对应的无图像只有背景的图像,相关案例请参考《《数字图像处理》学习总结及感悟:第二章数字图像基础(5)数学工具》的介绍

  5. 反转变换特别适合增强嵌入在一幅图像暗区域中的白色或灰色细节,在黑色在图像范围占主导地位时特别有效。下图左边的原图是一幅带有小块病变的乳房的X光照片,右图是反转变换后的图像,可以看到反转后病变部位更清晰:
    在这里插入图片描述

  6. 对数变换将输入图像中范围较窄的低灰度值映射为了输出图像中范围较宽的灰度值,对数变换可以用于扩展图像中暗像素的值和压缩图像中亮像素的灰度值,同时可以压缩像素值变化比较大的图像的动态范围,即会使得大的图像动态范围变小,下图左边是傅里叶频谱的图像,右边是进行了对数变换的傅里叶频谱图像:
    在这里插入图片描述

  7. 反对数变化将输入图像中范围较宽的高灰度值映射为了输出图像中范围较窄的灰度值。反对数的变换可以用于收缩图像中暗像素的值和扩展图像中亮像素的灰度值

  8. 幂律变换又称为伽玛变换,其变换函数为:s=crγ,γ值小于1时,幂律函数本质上就是n次根函数,当变量(底数)小于1时它使得函数结果值比输入变量值变大,底数大于1时使得函数结果值比输入变量值变小,因此γ值小于1时的幂律变换,可以使得较窄范围的暗色像素输入值映射为较广范围的输出值,而对高灰度值则会收窄其输出值范围。γ值大于1时则效果与此相反。而当c和γ都等于1时,幂律变换就是恒等变换(identity transformation)。

    幂律变换可以用于显示设备的伽马校正以及暗图像对比度增强、亮图像对比度增强(γ值大于1来压缩灰度级提升对比度),相关案例请参考《《数字图像处理》第三章学习总结感悟1:灰度变换与空间滤波概念及常用灰度变换方法介绍》

  9. 分段函数可以用于对比度拉伸、比特平面分层、灰度级分层,相关案例请参考《《数字图像处理》第三章学习总结感悟1:灰度变换与空间滤波概念及常用灰度变换方法介绍》

  10. 10.直方图均衡具有扩展输入图像直方图(spread the histogram of the input image)的趋势,均衡后的图像的灰度级(intensity levels)跨越更宽灰度级(intensity scale)范围,最终结果(The net result)是增强了对比度(contrast enhancement),相关原理请参考《温故而知新:直方图均衡、直方图匹配的再次理解》以及《《数字图像处理》第三章学习总结感悟2:直方图处理》的介绍

  11. 线性平滑滤波器(Smoothing Linear Filters,也称为均值滤波器或空间均值滤波器)用于降低图像灰度的“尖锐”(sharp)变化(transitions),一个重要应用是为了对感兴趣的物体得到一个粗略的描述(gross representation)而模糊一幅图像,这样,那些较小物体的灰度就与背景混合在一起了,较大物体变得像“斑点”(bloblike)而易于检测,但可能会带来边缘模糊和伪轮廓效应(false contours),相关介绍请参考《数字图像处理:线性和非线性滤波的平滑空间滤波器(Smoothing Spatial Filters)》

  12. 中值滤波器的主要功能是使拥有不同于周边像素灰度级的点看起来更接近于它的相邻点,中值滤波器对处理脉冲噪声(impulse noise,也称为椒盐嗓声salt-and-pepper noise)非常有效,因为这种噪声是以黑白点的形式叠加在图像上的,相关案例请参考《数字图像处理:线性和非线性滤波的平滑空间滤波器(Smoothing Spatial Filters)》

  13. 最大值滤波器用于搜寻一幅图像中的最亮点,最小值滤波器用于查找最暗点

  14. 图像的微分增强就是 对图像求导数,用于边缘(edges)和其他突变(discontinuities,如噪声),而削弱(deemphasizes)灰度变化缓慢(slowly varying intensities)的区域,相关原理请参考《数字图像处理学习–导数运算与锐化空间滤波》
    1> 一阶导数就是求图像灰度变化曲线的导数,能够突出图像中的对象边缘;
    2>图像的二阶导数产生由零分开(separated by zeros)的双边缘,边缘为一个像素宽(double edge one pixel thick),适合图像锐化处理(锐化处理用来识别图像中的噪声点、线与边缘)

三、小结

本文将图像处理中常用的数学运算算法及其对图像的作用做了个汇总介绍,有助于图像处理时针对对应场景快速选择合适的数学算法。

更多图像处理请参考专栏《OpenCV-Python图形图像处理》及《图像处理基础知识》的介绍。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《 专栏:Python基础教程目录》从零开始学习Python。

如对文章内容存在疑问或需要相关资料,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询,可通过扫二维码加微信公众号。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.youkuaiyun.com/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.youkuaiyun.com/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.youkuaiyun.com/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.youkuaiyun.com/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
  4. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取优快云文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.youkuaiyun.com/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.youkuaiyun.com/LaoYuanPython ░
图像处理之图像的像素运算 在MATLAB图像工具箱中提供了。图像的除法运算给出的是两幅图像相应像素值的变化比率,而不是每个像素的绝对差异,因而图像除法也称为比率变换,常用于校正成像设备的非线性影响。图像加法运算的一个应用是将一幅图像的内容叠加到另一幅图像上,生成叠加图像效果,或给图像中每个像素叠加常数改变图像的亮度。其中,A(x,y) 和B(x,y)表示进行代数运算的两幅图像,C(x,y)表示A(x,y)和B(x,y)运算后的结果。其中,A(x,y) 表示原图像,B(x,y) 表示经过点运算处理后的图像,f表示点运算的关系函数。.. 阅读详情

相关推荐

图像的基本运算及应用研究

(1)实现图像的各种基本运算,包括点运算、代数运算、逻辑运算等。点运算包括线性点运算:Negative、Thresholding、Global linear transformation、Piecewise linear transformation、Bit Plane Slicing和非线性点运算:Logarithmic Transformations、Power Law Transformations、Gamma Correction等。 代数运算:图像的加、减、乘、除运算 逻辑运算:图像的与、或、非运算 (2)实现点运算、代数运算、逻辑运算的典型应用,例如分段线性点运算的灰度增强、傅里叶频谱的对数变换、加法运算去除“叠加性”随机噪音、差影法的应用、用乘法运算提取局部图像、用逻辑运算提取子图像等. (3)分析两个像素点之间的关系是何连通,计算两个像素点之间的距离,包括欧式距离、D4、D8、Dm四种距离。

图像四则运算(加减乘除)

图像的代数运算 实验目的: 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 3.能够实现简单的图像处理 实验原理: 图像的代数运算包括加,减,乘,除,这些运算的主要对象是图像数据块中的数据。这四种代数运算可以由如下的公式表示: C(x,y) = A(x,y) + B(x,y) C(x,y) = A(x,y) - B(x,y) C(x,y) = A(x,y) * B(x,y) C(x,y) = A(x,y) / B(x,y) 其中A(x,y

weixin_46372402的博客 1万+

欧姆龙多PLC串行链接模式的应用

欧姆龙多PLC串行链接模式的应用 一、如何将两台CP1H进行串行PLC连接(PLC串行链接) 主机侧设定 从机侧设定 二、 如何实现编程通信 主机侧的【PC连接模式】为【全部】的时候 ① 主机会把自己的地址从3100开始,按照【链接字】设定的字数个数发送到每个从机的3100开始进行存储。 ② 从机会把自己的地址从31n0开始,按照主机侧参数【链接字】设定的字数个数发送到主机的31n0开始进行存储。 注:(n为从机的地址号,若从机号不连续,则该编号的地址将不被定义..

u014202847的博客 3087

图像处理的思考题解答

可以发现有很多的实验指导书中,只有实验指导内容,然而却没有思考题的答案。我们在做数字图像处理的实验,我把我的思考题答案记录了下来。不一定正确,发出来和大家一块学习吧。这些思考题来自于合工大图像处理指导书。思考题:思考图像减法运算在什么场合上发挥优势?答:背景减法是经典的应用。使用背景减法进行运动目标的检测可提取出完整的图像,对动态场景的变化,感染等特别敏感的背景图像获取的理想情况是没有运动因素。但...

liuqiangaliuv的博客 6427

WSL基础环境配置方案

通过以上步骤,您已经在 Windows 的 WSL 环境中成功搭建了一个完整的基础开发环境,包含 Docker、Kubernetes、Helm、kubectl、yq、Git 等工具。这套环境特别适用于在国内使用阿里云镜像服务部署和管理 Tekton,提升了开发和运维的效率和稳定性。

落魄书生的职业学习生涯 8876

Windows 10/11 安装 HYSPLIT 气象模型全攻略(附必备工具包下载清单)

本文提供了一份详尽的Windows 10/11系统下HYSPLIT气象模型安装与配置全攻略。指南涵盖了从核心认知、必备工具包(Tcl/Tk、ImageMagick)下载,到分步安装、环境变量设置及首次运行验证的完整流程,旨在帮助研究者和学生高效部署这一用于大气轨迹模拟与污染物扩散分析的专业工具。

weixin_28335283的博客 608

《图像处理基础知识》专栏文章目录

☞ ░ 前往老猿Python博客 https://blog.youkuaiyun.com/LaoYuanPython ░ 一、专栏简介 《图像处理基础知识》专栏介绍老猿在图像处理知识学习中的一些基础知识总结和感悟,但不包括OpenCV-Python相关知识,OpenCV-Python相关知识请见《OpenCV-Python图形图像处理》,供与老猿同样零基础图像知识的同好参考。 二、文章目录 图像灰度与灰阶的纠结:gray level/scale译文释义 图像处理术语解释:灰度、色相、饱和度、亮度、明度、阿尔法通道

老猿Python 2260

Yolov8-pose关键点检测:训练实战篇 | 手部关键点检测

yolo8-pose实战检测手部关键点并优化。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3396

图像识别算法大全_MLK | 机器学习常见算法优缺点了解一下

MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,这篇文章很久之前在本公众号发过,现在拿回来整理下,也算是一种温故而知新了。? 前情回顾MLK | 那些常见的特征工程MLK | 模型评估的一些事MLK | 机器学习的降维”打击“MLK | 非监督学习最强攻略MLK | 机器学习采样方法大全MLK | 一文理清 深度学习...

weixin_39679468的博客 7089

【1】Java 部分笔试题解析

解析A.abstract关键字应该放在class关键字之前。C.抽象方法不能有方法体。D缺少了class关键字。

博客 3941

倍福--实现TCP/IP的配置

控制器为CX5120,需要和上位机做通信,选择TCP/IP的通讯方式,本文介绍TCP/IP通信的操作步骤。 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3 1.2. 串口调试助手 3 1.2.1. TCP调试通信助手 3 授权文件 3 2.1 Lib文件 3 2.2. CAB文件 4 PLC程序编写 4 3.1. 引入TCP/IP库文件 4 3.2. Client端程序 5 3.2.1. 建立相关变量 5 3.3.2. 编写连接功能块

weixin_41883890的博客 5730

apriori算法实现_MLK | 机器学习常见算法优缺点了解一下

MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,这篇文章很久之前在本公众号发过,现在拿回来整理下,也算是一种温故而知新了。 Index决策树算法分类算法聚类算法集成算法(AdaBoost算法)人工神经网络算法排序算法关联规则算法(Apriori算法)01 决策树算法决策树优点1、决策树易于理解和解释,可以可视化分析,容易提取...

weixin_31539461的博客 2316

【传感器模块项目实战】自动驾驶/机器人相关传感器原理及标定

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、IMU二、相机三、激光雷达四、轮速里程计五、GPS/RTK六、毫米波雷达总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对**【自动驾驶相关传感器原理及标定】**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、IMU IMU惯导系统的特性(imu_calc函数功能) IMU运行的

qq_35635374的博客 1232

MLK | 机器学习常见算法优缺点了解一下

MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,这篇文章很久之前在本公众号发过,现在拿回来整理下,...

Pysamlam的博客 572

ESP32学习笔记06-UART 的485 通讯模式

通信方式选择UART 控制器支持多种通信模式,使用函数 uart_set_mode() 可以选择模式。选择特定模式后,UART 驱动程序将处理已连接 UART 设备的相应行为。例如,主机开始向 Tx FIFO 缓冲区写入数据时,UART 驱动程序会自动置位 RTS 管脚(逻辑 1);最后一位数据传输完成后,驱动程序就会取消置位 RTS 管脚(逻辑 0)。要使用此模式,软件。

Car12 2476

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【图像分类】卷积神经网络 CNN

因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇文章介绍的是图像分类中的最经典的卷积神经网络学习笔记。 1 背景 在图像分类领域,卷积神经网络于 2012 年在 ImagesNet 竞赛中一骑绝尘,成功将准确率提升了 10%而迅速引爆深度学习。 2 神经网络 2.1 什么是神经网络 将神经元组合在一起, 构成的网络...

曦瓜 623

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python深度学习:从入门到实战

亲爱的读者,欢迎您翻开这本书。我们即将探索的,是深度学习的宇宙——一个由数据、算法与算力构筑的奇妙世界。它既是严谨的科学,也是创造的艺术,更是一条通往未来智慧的修行之路。本书将带您从最基础的数学原理出发,亲手搭建神经网络,驾驭Transformer等前沿模型,最终将智慧转化为现实世界的价值。请放下畏惧,保持好奇。这不仅是一次知识的学习,更是一场思维的远行。来,随我一起,开启这趟非凡的旅程吧。

weixin_45747731的博客 296

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

图像的乘法运算,自乘物理意义

图像的乘法运算主要用于实现图像的掩膜处理,即屏蔽掉图像中的某些部分。图像的缩放是指一幅图像乘以一个常数,如果该常数大于 1,则图像的亮度将增强,如果常数小于1,则图像的亮度会变暗。matlab中用immultiply()函数实现乘法运算。 close; clear all; clc; I = imread('rice.png'); I1 = uint16(I); I2 = immult

诚朴勇毅 1万+

OpenCV-Python图像乘法运算cv2.multiply函数详解及像素值溢出归一化处理

本文详细介绍了OpenCV-Python图像乘法运算cv2.multiply函数的调用语法,并分析了OpenCV乘法的几种使用场景以及图像溢出的归一化处理,通过这些分析可以知道OpenCV图像的乘法运算主要有三种作用: 1. 图像和标量的乘法可以调节图像的明暗度; 2. 图像和掩膜的乘法可以控制输出图像的范围; 3. 图像自乘可以调节图像的对比度。

老猿Python 2万+

MATLAB 图像处理实例详解(五)

4.1 图像点运算 4.11 线性灰度变换 函数 : imadjust ( ) gamma = 0.5; %调整线性度取值 I = imread('rgb.jpg'); R = I; R(:,:,2) = 0; %只保留红色通道 R(:,:,3) = 0; R1 = imadjust(R, [0.5, 0.8], [0, 1], gamma); %调整灰度 G = I; G(:,:,1...

weixin_42618420的博客 4229
上一篇: 温故而知新:直方图均衡、直方图匹配的再次理解
下一篇: OpenCV-Python图形图像处理:自用的一些工具函数源代码(统信UOS Linux版)
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值