张伟伟,男,西安工程大学电子信息学院,2019级硕士研究生,张宏伟人工智能课题组。
微信公众号:可随时查阅,搜索—张二牛的笔记,回复[数字图像处理]可以直接获取对应的书籍。
研究方向:机器视觉与人工智能。
电子邮件:zhangweiweicpp@163.com
目标
(1)定义图像处理的范围
(2)应用领域和现状
(3)图像处理的主要方法
(4)图像处理系统的组成
(5)相关文献
数字图像: 可以定义为一个二维函数f(x,y),x,y是空间坐标,(x,y)处的幅值称为图像在该点的强度(灰度)。灰度值为有限的离散量时,称为数字图像。
图像处理的范围:输入输出都是图像的处理,包含从图像中提取特征的处理,直至目标识别。
图像处理的应用领域:
电磁波可见光成像占主导地位。
图像处理重要性:人类只能感知电测波谱的可见光谱,波长只有 380nm~780nm,图像处理可处理为人类所能看到的图像形式,由此增加了人类获取信息的能力。



目标
1.人类视觉的功能和限制
2.光的性质
3.如何产生,采样和量化图像
4.图像像素间的几何关系
为了将传感器输出的电压波形转为数字图像,需要进行数据转换。转换包括:取样和量化。同时将亮度值分为离散的区间。这样每个取样点的值就被量化为了离散值。


离散时像素中心 M/2 N/2取整,灰度级数L=2的K次方。灰度级范围:[0,L-1]
灰度跨越的值域称为动态范围,定义为系统中最大可度量灰度与最小可检测灰度之比。上限取决于饱和度,下限取决于噪声。
对比度:一幅图像中最高和最低灰度级间的灰度差。反差比是这两个量的比率。图像中可观像素居于高动态范围时,称为图像有高对比度。
图像存储的比特数
k比特图像:一幅图像具有 个可能的灰度级时,称为“k比特图像”。如256级图像称为8比特图像。



空间分辨率 是图像中最小可辨别细节的测度。
单位距离的线对数和单位距离的点数(像素数)是最常用的测度。
灰度分辨率 指在灰度级中可分辨的最小变化。用于生成数字图像的空间样本数。灰度级通常是2的整数次幂,常用的数是8比特。
内插是用已知数据来估计未知位置数据的过程。
最近邻插值(会产生直边失真)
双线性插值(结果较好)
双三次内插(复杂度较高)
内插可以使用更多的邻点,并且存在使用样条和小波的复杂技术。通用的数字图像处理尝试用双线性内插和双三次内插。
坐标(x,y)处的像素p
邻域:点p的相邻像素的图像位置集。
4邻域:2个水平的相邻像素和2个垂直的相邻像素。(x+1, y), (x-1, y), (x, y+1), (x, y-1) 这组像素称为p的4邻域,用 N4(P)表示。
8邻域:在4邻域的基础上,加上对角相邻像素,(x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1)。
边界与边缘的区别:有限区域的边界形成一个闭合通路,它是一个整体性的概念,边界。
边缘是由其倒数超过某个预设阈值的像素形成的,边缘是一个局部的概念。

图像可以视作矩阵,很多情况下图像间的运算时用矩阵理论执行的。点积。
重要:图像处理方法最重要的分类是,它是线性的还是非线性的,对给定的一副输入图像f(x,y)产生一幅输出图像g(x,y),加性和同质性(乘以一个常数可以变到输出)。

算数运算:
图像相加:平均噪声(降低噪声)
图像相减:比较图像
图像相乘(相除):校正阴影和模板。
集合运算:





目标
灰度变换(使用的函数:线性、对数、幂函数)
直方图
空间滤波
图像增强



这里是引用
伽马变换是为了产生输入图像的忠实显示。








通常所说的直方图是出现灰度级的像素数目数量所占总的比例------灰度级概率的估计。

将输入图像灰度级为 r 的像素,映射为输出图像中灰度级为 s0 的对应像素,得到输出图像。称为直方图均衡化或直方图线性变换。

.
图像均衡化通常会拓展灰度级范围,进而增强图像的对比度,因此输入图像覆盖的灰度级区间越小,直方图均衡对其影响越大。
直方图匹配(直方图规定化):用于生成具有规定直方图的图像的方法。
将某幅影像或某一区域的直方图匹配到另一幅影像上。使两幅影像的色调保持一致。两幅图像比对前,通常要使其直方图形式一致。
滤波:是指通过、修改或抑制图像的规定频率分量。
低通滤波器:通过低频的滤波器称为低通滤波器。低通滤波器的作用是通过模糊图像来平滑图像。使用空间滤波器可以直接对图像本身进行类似的平滑处理。
线性空间滤波器在图像f和滤波器核 w 之间执行乘积之和运算。
分段滤波:有时,图像是被顺序地、分阶段地滤波(即卷积)的,每个阶段会使用不同的核。例如,对于阶段的滤波,图像广首先用核w1滤波。
可分离:若二维函数G(x,y)可写为一维函数G1(x)和G2(x)的乘积即G(x,y)=G1(x)G2(y)则它是可分离的。
1.卷积是空间域滤波的基础,它等效于频率域中的乘法,反之亦然
2.空间域中振幅为A的冲激,是频率域中值为A的一个常数,反之亦然
线性滤波就是找到合适的方法来修改图像的频率内容。
平滑(也称平均)空间滤波器用于降低灰度的急剧过渡。由于随机噪声通常由灰度的急剧过渡组成因此平滑的一个明显应用就是降噪。
线性空间滤波是指图像与滤波器核进行卷积。一个平滑核与一幅图像的卷积会模糊图像,模糊程度取决于核的大小及其系数的值
盒式核:最简单的可分离低通滤波器核,其系数的值相同(通常为 1)。来自一个常量核,以三维方式查看它时,它类似于一个盒子。
归一化适用于所有低通核。
归一化有两个目的:第一,一个恒定灰度区域的灰度平均值将等于滤波后的图像中的灰度值。第二,采用这种方式对核归一化时,可以防止在滤波过程中引入偏差(保证滤波后像素和相同);
零填充:填充零会扩展图像的边界,以避免在滤波期间核的一部分位于图像边界之外时执行未定义的运算
盒式滤波器优点:通常会产生视觉上能够接受的平滑结果,希望减少边缘平滑的效应时,它们也是很有用的.
盒式滤波器缺点:盒式滤波器往往会沿垂直方向模糊图像。在涉及精细细节不太适合。
==高斯核:可分离,圆对称。决定着平滑程度是由参数σ表征的,而且σ和平滑程度的关系是非常简单的.σ越大,高斯滤波器的频带就越宽,平滑程度就越好。==可分离核的计算优势对大核而言意义重大.

高斯核必须大于盒式滤波器才能实现同样程度的模糊。
零填充的缺点:对图像填充零会在滤波结果中引人黑色的边框,边框的宽度取决于所用滤波器核的大小和类型。
复制填充: 它将边界之外的值设为最接近的图像边界值,当图像边界附近的区域为常数时,复制填充更适用:
而当边界附近的区域包含图像细节时,镜像填充更适用。
统计排序滤波器是非线性空间滤波器,其响应基于滤波器所包含区域内的像素的排序。
平滑是将中心像素的值替代为由排序结果确定的值来实现的。
中值滤波器用中心像素的邻域内的灰度值的中值替代中心像素的值(计算中值时包括中心像素的值 )。去除椒盐噪声
线性滤波就是找到合适的方法来修改图像的频率内容。
使用:
核与图像大小的关系 使用低通滤波和阈值处理提取区域 图像阴影矫正。
锐化作用是突出灰度中的过渡,图像微分将增强边缘和其他不连续( 如噪声 ),并且不强调灰度缓慢变化的区域。
锐化通常称为高通滤波。此时,通过(负责细节的)高频,而衰减或抑制低频。
使用拉普拉斯锐化图像的基本方法
拉普拉斯是导数算子,因此会突出图像中的急剧灰度过渡,并且不强调缓慢变化的灰度区域。这往往会产生具有灰色边缘线和其他不连续性的图像,**它们都叠加在暗色无特征背景上。
主要讲述了一阶导数和二阶导数的性质和证明,例3.18展示了拉普拉斯锐化后的图像。
重要的综合的例子:P129页人体医学骨骼分析。
理论相对较高,放在后面阅读,需要到频域用到进行查阅。
2023/1/10
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我正在尝试使用Ruby2.0.0和Rails4.0.0提供的API从imgur中提取图像。我已尝试按照Ruby2.0.0文档中列出的各种方式构建http请求,但均无济于事。代码如下:require'net/http'require'net/https'defimgurheaders={"Authorization"=>"Client-ID"+my_client_id}path="/3/gallery/image/#{img_id}.json"uri=URI("https://api.imgur.com"+path)request,data=Net::HTTP::Get.new(path
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or