《数字图像处理》学习总结及感悟:第二章数字图像基础(5)数学工具

《数字图像处理》直方图均衡学习总结+感悟 本文介绍了《数字图像处理》第三章直方图均衡的主要知识点,并针对部分疑难点增加了老猿自己的感悟,直方图均衡法针对非数字图像以及数字图像都存在通用的公式,只需要数字图像和非数字图像自身的信息,二者虽然由于灰度值连续和离散的不同公式有所不同,但本质是一致的。 阅读详情

在这里插入图片描述

☞ ░ 前往老猿Python博文目录 https://blog.youkuaiyun.com/LaoYuanPython ░

一、引言

本系列文章记录老猿自学冈萨雷斯《数字图像处理》的感悟和总结,不过估计更新会比较慢,白天要工作,都是晚上抽空学习,学习完一章再回头总结,想学的朋友可以自己下载英文原版(目前到第四版)和中文译本(目前应该到第三版)的电子版观看,如果想对照观看建议英文原版也找第三版。

这本《数字图像处理》不愧为数字图像处理的经典教程,知识范围广、内容详尽、案例贴近实践,至少很合老猿的口味。但中译本存在两个问题:

  1. 有些翻译得不够精准或流利,对于这样的内容如果在老猿总结知识中出现,会以斜体字标记,有些关键术语老猿会附上英文原词;
  2. 中译本的图像案例很多都比原版差很多,甚至差到影响对讲述内容的理解,因此就算不看原版文字,图像案例最好还是对照原版的。

二、知识概要: 数字图像处理所用数学工具( the Mathematical Tools Used in Digital Image Processing)

本部分简单介绍图形处理需要用到的数学知识和工具。

2.1、阵列和矩阵操作(Array versus Matrix Operations)

数字图像以行和列的方式存储像素的值,这种存储方式成为阵列(array),看起来与矩阵(matrix)存储数据是一样的,实际上图像的很多操作是基于矩阵方式执行的,但有时候基于阵列的图像操作和矩阵操作相差很大。

除非特别说明,在相关处理中都假设是阵列操作而不是矩阵操作。对于阵列的操作是将阵列的操作直接作用到阵列的每个像素元素上,如两个阵列相加就是两个阵列相同位置的元素直接相加,减法、乘法、除法一样,求幂运算就是对阵列中的每个元素求幂,所有图像的算术操作全部都是阵列操作。

以4个元素的阵列和矩阵乘法举例,阵列乘法运算和矩阵乘法的区别如下:

  • 阵列乘法
    在这里插入图片描述

  • 矩阵乘法
    在这里插入图片描述

2.2、线性和非线性操作(Linear versus Nonlinear Operations)

假设作用在图像f(x,y)上的算子H使得:
H[f(x, y)] = g(x, y)
且满足:
在这里插入图片描述
其中ai、aj是任意常数,fi和fj是任意两个大小相同的图像,则称H为线性操作。

非线性操作则比线性操作难以理解,使用不多,但有时性能会远优于线性操作,某些特定处理需要用到。

2.3、图像算术运算(Arithmetic Operations)

图像的算术操作全部都是阵列操作,具体操作内容很简单,在此老猿不多说。

在这里介绍一下它们的应用举例:

  • 图像加法操作可用于图像降噪(noise reduction),这一般用于图像在各点的噪声是不相关的,是加性噪声,如天文学观察由于非常低的照度下成像会导致传感器噪声,导致单幅图像无法分析,通过多幅图像相加再平均即可以降噪
  • 图像减法操作可以用于增强图像之间的差别,如血管造影照和造影前的血管照相减可以获得造影剂在血管内的分布情况
  • 图像相乘可以用一个模板图像与对应图像相乘从而留下感兴趣的ROI区域,即ROI区域对应的模板区域元素设置为1,其他区域设置为0,再进行图像和模板相乘即可获得ROI区域。
  • 图像相乘或相除可以用于阴影校正(shading correction),老猿理解阴影是由于光学折射不均匀导致的镜头周围出现阴影,例如一张白纸的照片打印出来时并不是白色或颜色一致的背景,而是有分布不均匀的背景色,下图左边是一个钨丝放置在颜色单一背景的情况照片、中间是单一背景的照片,照片中明显有阴影,右边是进行阴影校正后的图片:
    在这里插入图片描述
    采用左边图像除以中间图像再进行处理后就可以得到右边图像。

假设除法运算的结果图像为f(x,y),要保证运算结果最后落入某个固定比特数表示的范围的运算过程如下:

fmin = f - min(f)
fmin = fmin + v #加v是为了避免除数为0,v为一大于0的非常小的数,按具体数据类型来确认,如果为整型则v=1
fresult = K*(fmin/max(fmin)),k为一图像灰度所能达到的最大值,如图像灰度是8bit,则k=255

老猿认为上述处理就是归一化处理,不过该归一化处理算法与OpenCV的归一化处理不同,OpenCV归一化处理请见《OpenCV-Python图像乘法运算cv2.multiply函数详解及像素值溢出归一化处理》。

2.4、图像的集合运算和逻辑运算(Set Operations)

图像的灰度集合操作是针对一幅或多幅图像的整体进行的操作,包括图像像素位置和图像灰度的操作。

像素位置的集合操作

集合运算包括集合的子交并补运算,当集合运算是对图像的像素操作时,对应运算就是简单的子交并补。需要注意的是,一般将图像的全集(universe)定义为包含图像中所有像素的矩形,全集一般记为U。
当两个集合A和B相减时,其结果等于A和Bc(即B的补集)的交集。

灰度值的集合操作
  • 两个图像灰度的并集取A/B每个相同位置对应像素的最大灰度作为结果图像同样位置的像素灰度
  • 两个图像灰度的交集取A/B每个相同位置对应像素的最小灰度作为结果图像同样位置的像素灰度
  • 补集操作为某个常数K减去每个像素的灰度值所得的图像(常数K为《数字图像处理》学习感悟:第二章(3)采样、量化和插值》所定义的图像灰度分辨率n的2n-1,n是表示该图像灰度值的比特数)。

另外图像中还会用到模糊集合(Fuzzy sets)的概念,这个暂时不展开多说。

2.5、图像的逻辑运算( Logical Operations)

逻辑运算包括与或非和异或,与或非三个运算是功能完备的,任何其他逻辑操作都可以通过这三个运算获得。两幅图像的逻辑操作就是这两幅图像的像素对之间的逻辑运算操作。
图像的或操作。而Not操作则是对灰度值的求补操作。

2.6、空间操作(Spatial Operations)
2.6.1、定义

空间操作是指操作直接作用于给定图像像素上的操作,包括单像素操作(single-pixel operations)、邻域操作(neighborhood operations)和几何空间变换(geometric spatial transformations)。

  • 单像素操作:操作运算直接对图像每个像素的灰度值进行,不和其他像素发送关系
  • 邻域操作:对图像的任意一点,其目标图像的灰度值由原图像中该点周围的邻域像素经指定操作处理决定
  • 几何空间变换:几何变换是变换图像中像素间的空间关系(spatial relationship)。几何变换又称为橡皮膜变换(rubber-sheet transformations),可以看成将一副图像印刷在橡皮膜上,然后根据一定的规则拉伸该薄膜形成图像变换。

    几何变换由坐标的空间变换(spatial transformation of coordinates)和对于空间变换后的像素的灰度使用灰度插值(intensity interpolation)进行计算组成。
2.6.2、空间操作案例–仿射变换

最常用的空间变换是仿射变换(affine transform),仿射变换公式表示如下:
在这里插入图片描述
对于上述仿射变换公式,T称为仿射变换矩阵。

上述公式可以通过输入图像各像素的灰度值来计算输出图像中映射位置的灰度值,但这种方式可能存在多个输入图像像素映射到一个输出图像像素、或者某个输出图像像素没有计算出的值填入等问题,这种通过输入图像像素计算输出图像映射到的像素灰度值的方法称为前向映射(forward mapping)。

还有种方式,就是根据输出图像的像素位置,使用变换矩阵的逆矩阵计算该位置在输入图像中的像素位置,然后根据该输入图像像素的位置使用插值法来确认输出像素的灰度值,这种方式称为反向映射(inverse mapping)。反向映射比前向映射更有效,被许多商业软件所使用。

关于仿射变换更多的内容请参考《https://blog.youkuaiyun.com/LaoYuanPython/article/details/113832562 OpenCV-Python图像处理:仿射变换详解及案例》的介绍。

2.6.3、空间操作案例–图像配准(Image Registration)

2.6.3.1 定义
图像配准是用于对齐两幅或多幅相同景物(scene)的图像,在图像配准时,有可用的输入图像和输出图像,但怎么从输入图像变换到输出图像即变换函数是未知的,这里的输入图像就是要变换的图像,而输出图像就是参考图像,它用于配准输入图像的图像。

注:老猿认为这里说的输出图像仅是理论上的,如果真正在进行配准时,只能说是参考图像,否则已有输出图像,为什么还要配准呢?

之所以要配准图像,是因为在景物成像过程中,由于观察视角(viewing angle)、距离、方向、传感器分辨率、目标位置移动(shift)及其他因素导致图像几何畸变,对这些畸变进行修正就需要图像配准,通过配准后合并这些图像或执行图像的定量分析。

2.6.3.2、配准方法
进行图像配准的主要方法之一是使用约束点(tie points,也称为控制点,control points),这些点是输入图像和参考图像中期位置已知的相应点。约束点可以交互式选择或自动选择。有了足够约束点后,就可以推导出变换函数。

4个约束点的近似双线性变换公式如下:

在这里插入图片描述
其中v、w是原图像中像素的坐标,x、y是变换后的坐标。

如果四个点不能校准一个图像,可以将图像划分成多个不重叠的子图像,每个子图像用4个点来校准,这样叠加进行整个图像校准。

但是当畸变很严重时,使用约束点很难实现完美的匹配,另外手工选择约束点的误差一般比较大。

在这里插入图片描述
上面4个图像,按从左到右再从上到下编号为a、b、c、d,a是参考图像,b是产生了几何畸变的输入图像,c是配准后的输出图像,d是配准后的输出图像和参考图像的差异。

2.6.3.3 、老猿理解:

  • 图像配准就是借助于出现不同畸变的图像中的相同景物相同位置的参考点,通过这些点在不同图像中的空间位置就可以获得对应的变换函数,然后将这个变换函数作用于整个输入图像,就可以获得输入图像与配准图像相同成像环境(包括视角、方向、距离、分辨率和位置等)的近似图像
  • 这个过程有点类似求解n元k次方程的各个系数,求解前需要找到足够的未知数的值对代入,这样才能计算出相关系数。约束点的数量和变换函数模型的复杂度取决于要配准图像的畸变程度,例如如果只是景物平移导致的畸变,也许只需要有1个控制点的2元一次方程就可以了,如果是角度旋转的畸变,就需要4个约束点。
  • 配准对应的变换实际上就是类似透视变换的变换,只是变换矩阵未知,需要通过约束点求变换矩阵(超过4个约束点求得的矩阵已经不是3×3的矩阵)
2.7、向量与矩阵操作(Vector and Matrix Operations)

多光谱图像处理(Multispectral image processing)是使用向量和矩阵操作的典型领域。一个RGB彩色图像的像素包含3个分量,这三个分量可以组成一个三维的列向量。

像素被表示为向量后,就可以使用向量和矩阵相关的处理理论和工具。有关向量的知识介绍请参考《https://blog.youkuaiyun.com/LaoYuanPython/article/details/112410587 人工智能数学基础-线性代数1:向量及向量加减法与数乘》和《https://blog.youkuaiyun.com/LaoYuanPython/article/details/112411742 人工智能数学基础-线性代数2:向量的点积、內积、数量积和外积》的介绍。

整个图像都可以被当作矩阵或向量来处理,例如图像的线性处理:
g = Hf + n
其中,f表示输入图像,是一个MN×1的向量。n表示M×N的噪声模式的MN×1向量,g表示输出图像,也是一个MN×1的向量。

2.8、图像变换(Image Transforms)

数字图像f(x,y)的坐标张成的实平面(real plane)称为空间域(spatial domain),x、y称为空间变量(spatial variables )或空间坐标(spatial coordinates),基于像素坐标到像素坐标的变换是基于空间域进行的变换。

而有些情况下,图像处理任务这样来构建最好(best formulated):变换输入图像、在变换域(transforms domain)执行特定任务,执行完后再将处理完成后的结果反变换(inverse transform)回到空间域。

如表示为T(u,v)的二维线性变换,其通用形式表示为:
在这里插入图片描述
其中f(x,y)是M行N列的输入图像,r(x,y,u,v)称为正变换核(forward transformation kernel,也称为前向变换核),,对上述公式使用u=0,1,…,M-1,v=0,1,…,N-1进行计算,u、v称为变换变量(transform variables),T(u,v)称为f(x,y)的正变换(forward transform,也称为前向变换)。

给定T(u,v)后,可以用其逆变换(inverse transform,也叫反变换)还原f(x,y):

在这里插入图片描述
s(x,y,u,v)称为逆变换核(inverse transformation kernel,也可翻译为“反变换核”)。

上面的两个变换公式(2.6-30)和(2.6-31)一起称为变换对(transform pair)。下图是上面介绍的二维线性变换执行图像处理的基本步骤:
在这里插入图片描述
对应的变换域为线性变换域(linear transform domain)。

如果公式(2.6-30)中的正变换核:r(x,y,u,v)=r1(x,u)r2(y,v),那么则称正变换核是可分的(separable)。如果在此基础上,r1(x,y)等于r2(x,y),则称变换核是对称的(symmetric)。此时r(x,y,u,v)=r1(x,u)r1(y,v)。如果上述描述中的正变换核r换成逆变换核s,同样适用于逆变换核。

傅里叶变换在图像处理中是一种很常用的变换方法,可以使图像从空间域转换到频率域从而进行一些图像处理操作。傅里叶变换就是可分的和对称的,并且可分的和对称的核允许用一维傅里叶变换计算二维傅里叶变换。

二维傅里叶变换(Fourier transform)的正变换核:
在这里插入图片描述
逆变换核为:
在这里插入图片描述
将其带入式(2.6-30)和(2.6-31),可以得到离散傅里叶变换对(discrete Fourier transform pair):
在这里插入图片描述
当变换对的正反核是可分的和对称的,且图像f(x,y)是大小为M×M的方形图像时,上面的公式(2.6-30)和(2.6-31)可表示为矩阵形式:
在这里插入图片描述

其中,F是代表包含元素f(x, y)的图像的M阶方形矩阵,A是带元素aij=r1(i,j)的M阶方阵,T是M×M的变换结果,其值为T(u,v),u,v取值为[0,M-1]。

为了得到逆变换,我们用逆变换矩阵(inverse transformation matrix)B前乘和后乘(pre- and post-multiply)式(2.6-38):
在这里插入图片描述
如果B=A-1,即B是A的逆矩阵,则:
在这里插入图片描述
上面的公式表明,图像F可以由其正变换完全还原。

变换域

老猿理解空间变换就是能用矩阵运算表达的变换(没有求证过,如果有大佬愿意指教非常欢迎)。而有些情况下,将输入图像进行非矩阵运算的处理(如傅里叶变换),就需要先将图像变换成对应域。关于变换域老猿花了将近一整天的时间去理解,最后单独发了篇博文《https://blog.youkuaiyun.com/LaoYuanPython/article/details/117389597 图像处理空间域、变换域、时域和频域的含义理解:spatial VS transforms domain》,在此就不多说了。

2.9、 概率方法(Probabilistic Methods)

概率论中的概率计算、均值、方差(请参考《https://blog.youkuaiyun.com/LaoYuanPython/article/details/108864527 人工智能数学基础4:离差、平均差、方差、标准差、协方差、皮尔森相关系数》的介绍)、随机变量(random variable)、n阶矩(nth-moment)等在图像处理特别是灰度处理应用中都有重要应用,在此就不单独展开介绍。

三、小结和感悟

本节概要性地介绍了图像处理所使用的数学工具,包括阵列与矩阵操作、线性操作和非线性操作、算术操作、集合和逻辑操作、空间操作、向量与矩阵操作、图像变换和概率方法。这些数学方法在接下来的图像处理过程中会或多或少的使用到,熟悉这些数学方法和工具对于理解图像处理的方法非常重要。

更多图像处理请参考专栏《OpenCV-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!

☞ ░ 前往老猿Python博文目录 https://blog.youkuaiyun.com/LaoYuanPython ░
MATLAB新手必看:SVPWM七段式算法仿真全流程解析(附完整代码) 本文为MATLAB新手和电机控制初学者提供了SVPWM七段式算法的完整仿真与代码实现指南。文章详细解析了从扇区判断、矢量作用时间计算到PWM波形生成的全流程,并附带了可直接运行的MATLAB代码,帮助读者在理解FOC控制核心算法的基础上,快速掌握工程仿真与调试技巧。 阅读详情

相关推荐

实战指南:从零开始用YOLOv8训练VisDrone无人机检测模型

本文提供了一份详细的实战指南,手把手教你从零开始使用YOLOv8训练一个无人机检测模型。内容涵盖VisDrone数据集下载与格式转换、YAML配置文件编写、模型训练与评估,以及最终的推理部署,旨在帮助开发者快速掌握无人机视角下的目标检测技术。

salt的博客 682

数字图像处理第四版更新内容

数字图像处理第四版相较第三版更新内容 1、扩充了关于空间滤波基本原理的内容 2、更全面地介绍图像变换的内容 3、更完整地介绍有限差分,重点是边缘检测 4、讨论聚类,超像素及他们在区域分割中的应用 5、涵盖最大稳定极值区域的内容 6、扩展特征提取的内容,包括尺度不变特征变换(sift) 7、扩展神经网络的内容,包含深度神经网络、反向传播、深度学习,尤其是深度卷积神经网络 8、在各章末尾提供更多的习题 ...

a1850568889的博客 2826

电力工程师必看:GOOSE/SV/MMS三协议在智能变电站中的分工与联动实例

本文深入解析了智能变电站中GOOSE、SV、MMS三大核心通信协议的分工与协同机制。GOOSE协议作为过程层的“闪电信使”,负责毫秒级传输跳闸命令等事件信息;SV协议则传输精确同步的电流电压采样值流;而MMS协议作为站控层的“管理语言”,实现设备监控与数据管理。三者基于IEC 61850标准,在过程层、间隔层和站控层之间高效联动,共同构建了智能变电站稳定可靠的通信骨架。

jj890的博客 365

图像的乘法求感兴趣区域(图像截取) c++实现

在做图像任务时,会经常需要求取特定矩形框内图像内容,并在此基础上进行下一步操作。典型的应用就是二维码的扫描框。 代码的实现比较简单,我先用一个opencv-python的例子来说明。 im = cv2.imread(img_file) imNew=im[Ymin:Ymax,Xmin:Xmax] #y1:y2,x1:x2 代表先左上再右下,先y轴再x轴 c++代码实现: "bmp.h"的头文件代码:bmp图片的类以及读写函数 bmp.h #include <iostream> #include

linzengmin的博客 778

激光定位算法竞技场:hdl_localization与Cartographer/AMCL的横向技术解剖

本文深入对比了hdl_localization、Cartographer和AMCL三种激光定位算法的技术原理与性能表现。通过UKF-NDT融合、图优化和粒子滤波等核心技术,分析了各算法在结构化环境、动态环境和大尺度场景下的适应性。实验数据表明,Cartographer在全局一致性上表现最优,而AMCL在动态环境中更具鲁棒性。文章还提供了算法选型指南和参数调优技巧,为工程实践提供参考。

weixin_29062865的博客 365

HexView 脚本自动化工具:从刷写文件处理到批量转换实战

本文详细介绍了如何利用HexView脚本自动化工具高效处理嵌入式刷写文件。通过实战演示,文章展示了如何使用bat脚本实现S19、HEX等格式文件的剪切、填充、合并与批量转换,构建自动化流水线,从而显著提升汽车电子等领域的开发与生产效率。

weixin_29237635的博客 356

数字图像处理读后感

数字图像处理读后感 前言 初步写完比赛代码后,看了机器学习看了数字图像处理还有其他的一些乱七八糟的东西,然后又觉得如果只是看完没有总结回顾那就是很失败的一件事情,所以就想写一写自己的读后感. 我自己看得是B站的视频,这是西安电子科技大学的任老师讲解的,个人感觉讲的比较清爽,很有举重若轻的感觉,下面写写主要内容. 数字图像基础内容 图像 1,对图像的简单定义就是图像是一个二维的亮度函数;数学的表示方法用一个公式就是 I=f(x,y,λ,t) 其中I是强度;t是时间;λ是波长...

qq_32740315的博客 1869

数字IC后端实现之快速获取innovus中drv violation的所有net list

数字IC后端设计实现之快速获取innovus中drv violation的所有net list

weixin_37584728的博客 3350

数字图像处理Matlab实验集合(厦门理工学院)

实验一:图像处理基础 1、图像的放大、缩小 2、图像灰度级的增加、减少 3、图像的求平均、减法求前景、乘法求感兴趣区域、旋转 实验二:灰度变换与空间滤波 1、点处理:灰度值反转、对数变换、伽马变换 2、直方图处理:计算直方图、直方图均衡化 3、平滑滤波:均值滤波、中值滤波 4、锐化滤波:Sobel算子、Canny算子、拉普拉斯算子 实验三:图像复原与重建 1、空间域复原 (1)产生高斯噪声和脉冲噪声的图片 (2)用中值滤波器、均值滤波器、维纳滤波处理上面的噪声图片 2、频率域复原 (1)产生周期噪声的图像

qq_43663263的博客 3522

matlab/simulink saw谐振器仿真,基于Matlab的SAW模态耦合模型的仿真研究

第32卷 第 4 期Vol. 32 No. 4重 庆 理 工 大 学 学 报 (自然科学)Journal of Chongqing University of Technology( Natural Science)2 0 1 8年 4 月Apr. 2018doi : 10.3969/j . issn. 1674-8425(z). 2018.04.002本文引用格式 :李志鹏,马龙祥,孟旭,等•基...

weixin_36192634的博客 1385

WorldQuant Brain Alpha 生成器

一个自动化工具,通过参数优化和回测来挖掘高质量的量化交易 Alpha 因子,并自动提交符合标准的因子。

weixin_37582383的博客 1万+

OpenCV中感兴趣区域的选取与检测(一)

感兴趣区域的选取感兴趣区域(Region of Interest, ROI)的选取,一般有两种情形:1)已知ROI在图像中的位置;2)ROI在图像中的位置未知。1)第一种情形 很简单,根据ROI的坐标直接从原图抠出,不过前提是要知道其坐标,直接上例子吧。反向投影直方图的结果是一个概率映射,其体现的是已知的图像内容出现在图像中特定位置的概率。

鼹鼠的胡须 的博客 4万+

AI视频生成模型训练:从数据准备到部署全流程

咱们这次的目的就像是要建造一座超级厉害的AI视频生成魔法城堡。范围呢,就是从收集建造城堡的材料(数据准备)开始,到把城堡搭建起来(模型训练),再到让城堡能供大家使用(模型部署),涵盖了整个过程的方方面面。接下来我们会先给大家介绍一些重要的术语,就像认识冒险途中的关键道具一样。然后引入一个有趣的故事,带大家进入AI视频生成的奇妙世界,解释核心概念以及它们之间的关系。接着会详细讲解核心算法原理、数学模型和公式,还会有项目实战,带大家亲自体验代码的魅力。

小白菜的博客 399

《数字图像处理》第三章学习总结感悟2:直方图处理

☞ ░ 前往老猿Python博文目录 https://blog.youkuaiyun.com/LaoYuanPython ░ 一、引言 在2021年6月22日发布《《数字图像处理》第三章学习总结感悟1:灰度变换与空间滤波概念及常用灰度变换方法介绍》之后,老猿就暂停了数字图像处理的学习,而是开始重新学习(本来应该是复习,可是以前的高数知识完全忘光了)高数中的导数、微分、不定积分和定积分相关知识,主要是因为在学习直方图处理中碰到了定积分相关的知识,而这些知识老猿一点概念都没有了。不过总算是过来了,今天我们继续开始图像处理.

老猿Python 5294

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【数字图像】数字图像锐化处理的奇妙之旅

“探秘数字世界的视觉魔法:数字图像锐化处理的奇妙之旅”引领读者进入数字图像处理的神奇领域。作者深入研究了数字图像锐化处理技术,揭示了其在视觉改进中的卓越能力。从基本概念到实际应用,文章生动展示了数字图像锐化背后的原理和方法。首先,作者详细介绍了数字图像锐化的原理,解释了锐化处理如何通过突出图像的边缘和细节,使图像更加清晰和生动。随后,博文深入探讨了常见的数字图像锐化算法,包括拉普拉斯金字塔、Sobel算子等,为读者提供了深刻的理论基础。

朝花夕拾 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【数字图像】数字图像直方图规定化处理的奇妙之旅

引领读者进入数字世界的奇妙之旅,深度探讨了数字图像直方图规定化处理的视觉魔法。通过解析直方图规定化算法的原理和应用,揭示了在数字图像处理领域中的潜在奇迹。文章首先阐释了数字图像直方图的基本概念,为读者建立了一个清晰的理解基础。接着,详细剖析了直方图规定化处理的算法,突显了其在调整图像对比度和亮度方面的非凡效果。通过实例展示,读者将深入了解直方图规定化是如何通过调整图像的亮度分布,以及如何在不损失图像细节的前提下增强图像质量。

朝花夕拾 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【数字图像】数字图像滤波处理的奇妙之旅

《探秘数字世界的视觉魔法:数字图像滤波处理的奇妙之旅》博文深度剖析数字图像处理领域中的滤波技术,探讨其在图像增强和噪声抑制方面的重要性。文章首先介绍了数字图像滤波的基本概念,从时域和频域两个维度详细解释了滤波的原理和应用。随后,深入研究了不同类型的滤波器,包括均值滤波、中值滤波、高斯滤波等,分析它们在不同场景中的适用性和效果。着重强调了数字图像滤波在去除噪声、平滑图像和边缘检测等方面的广泛应用。文章还涵盖了数字图像滤波与实际应用领域的关系,包括医学影像、计算机视觉和遥感图像等。

朝花夕拾 1万+

【数字图像】数字图像傅立叶变换的奇妙之旅

深入探讨了数字图像处理领域的一项引人入胜的技术——傅立叶变换,将读者引向数字世界中视觉魔法的神秘之旅。作者通过实验深入研究FFT算法原理及其在数字图像中的应用,实现了数字图像傅立叶变换算法并深入分析了实验结果。文章首先介绍了傅立叶变换作为一种强大的频域分析工具,如何将图像从空域转换到频域,为读者揭示了数字图像处理中的奇妙之处。作者使用Matlab中的fft2函数进行傅立叶变换,通过fftshift函数对频谱进行中心化处理,使得观察和分析变得更为便捷。

朝花夕拾 1万+

【数字图像】数字图像平滑处理的奇妙之旅

带领读者走进数字世界中的一场视觉奇妙之旅,探索数字图像平滑处理的神奇效果。作者通过深入解析平滑处理的原理,揭示了在数字图像中实现视觉魔法的技术内幕。文章首先介绍了数字图像平滑处理的背景和意义,探讨了在图像中应用平滑处理的目的与效果。通过对平滑算法的深入解析,读者将了解到如何通过这项技术来改善图像质量、减少噪声,并实现更清晰、更吸引人的视觉效果。进一步,博文展示了作者在平滑处理方面的实际应用,包括使用先进的滤波器和算法来优化图像。

朝花夕拾 1万+

数字图像处理:直方图均衡(Histogram Equalization)的原理及处理介绍

本文介绍了《数字图像处理》第三章直方图均衡的主要知识点,直方图均衡法针对非数字图像以及数字图像都存在通用的公式,只需要数字图像和非数字图像自身的信息,二者虽然由于灰度值连续和离散的不同公式有所不同,但本质是一致的。本文的介绍是完全基于《数字图像处理》的介绍,其中有些内容对于不熟悉数字图像处理的人员理解可能存在困难,请等待老猿后续的系列博文答疑解惑。

老猿Python 1万+

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

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

老猿Python 2191

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

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

老猿Python 2260

人工智能与算法学习暑期总结

今天,将最近两个月的文章整理给大家,方便大家学习参考!评论区留言将有机会获得我们送出的图书,留言后邀请朋友为你点赞,赠送给集赞最多的4位朋友!发文后48小时,揭晓获奖的结果!基础知识AI...

weixin_40920183的博客 513

电子信息工程专业概论_【5分钟听懂一个专业】电子信息工程

有观点,讲方法,求实用,不空泛。大家好,欢迎收听门道中学生生涯规划指导中心《5分钟听懂一个专业》系列语音!今天带大家认识一下电子信息工程专业。1998年电子信息工程专业被教育部确立为宽口径专业,至今已经持续热了十几年。当下,制造业产业升级,智能工程快速发展,互联网的发展也是日新月异。可以想象,电子信息工程专业仍将是理工类考生和家长最关注的专业之一。电子信息工程专业将来能干什么?会干什么?先来听听本...

weixin_39932181的博客 760

工作总结--致18个月前的自己

个人工作总结--致18个月前的自己

PiggyRuns的博客 964

ImageMagick库简介

虽然曾经学过图像处理,对图像处理的基础理论还是很有感悟,但是没有真正做过图像处理方面的开发。在学《数字图像处理》《数字图像分析》《图像恢复与重建》等课程时,做过一些实验,主要是验证一些经典算法;但是工程和实验还是有很大差别的。这次有机会做了一个图像处理相关的服务端程序,这种感觉很明显。 在做实验室,主要是针对算法,所处理的对象都是已经读入的二维数组,基本上是一个数学问题。 但是实际项目中,可能

574
上一篇: 鸿蒙最新功能及承载设备详解:HarmonyOS 2及华为全场景新品发布会全纪录
下一篇: 华为VS谷歌:万物互联,谁主沉浮?
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论 35
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值