数字图像处理
luckyOverflow
专业摩托车维修师傅...
展开
-
空间滤波增强
<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-the原创 2017-06-05 11:53:57 · 2285 阅读 · 0 评论 -
不可避免的图像噪声
第一次接触”噪声”这个专业词汇,是在信号与系统课上,老师当时的解释是”不想要的干扰信号”。后来在模电和FPGA设计中,也经常遇到这个词(FPGA中的毛刺)。如今学习图像处理,再一次碰到它,看来,”噪声”真的是随处可见。 一般提到噪声,首先映入脑海的,应该是耳朵听到的嘈杂、尖锐的呲呲声。显然,声音就是一种信号,信号在传播的时候难免会受到干扰,正是这些干扰导致了噪声的出现。当然,图像的像素也可以看作是原创 2017-06-05 11:53:54 · 1159 阅读 · 0 评论 -
直方图均衡化
(1)基本概念 图像的点运算包含线性变换和非线性变换,其中,非线性变换分为对数变换、幂次变换、指数变换等。这几种变换都能有效的改变图像的亮度和对比度,然而,其中的参数却需要人为设定,设定的好,才能得到效果。那么问题来了,是否存在一种变换,不需要人为设定参数,就可以改善图像的对比度? 显然,从图像对比度的定义出发(简单来说,对比度就是最黑与最白亮度单位的相除值),如果一幅图像占据的灰度级范围更大,且原创 2017-06-05 11:53:51 · 1299 阅读 · 0 评论 -
建立灰度直方图
(1)基本概念如果将图像中像素的灰度级别看作是一个随记变量(概率论中学到的随记变量,对后续直方图均匀化的推到至关重要),则其分布的情况就可以用概率密度函数(PDF)来刻画和描述,即表现为灰度直方图(histogram),它表示图像中具有某种灰度级像素的个数,反映了每种灰度出现的频率。灰度直方图的横坐标是灰度级,纵坐标是该灰度级像素的个数(出现的频度),是图像基本的统计特性。从基本概念中可知,直方图原创 2017-06-05 11:53:48 · 4355 阅读 · 1 评论 -
简单平滑滤波器
(1)基本原理不同的空间滤波器主要就在于所使用的模板(卷积核)不同。图像的简单平滑模板如下图所示(模板前要乘以衰减因子1/9): 根据模板操作(卷积运算)的规则不难发现,图像的简单平滑就是对图像中一定邻域内的像素灰度值求平均值,将平均的结果作为中心像素的灰度保存在结果图中(注意,不要在原图上进行赋值,新得的像素因另起一个图像矩阵保存),这样就可以减少图像中的噪声影响。事实上不难发现,这种...原创 2017-06-11 10:47:38 · 2177 阅读 · 0 评论 -
快速傅里叶算法实现
function xk=fft_my(xn,N)% *********************Declaration***************************% File name: fft_my % Author: @Harry原创 2017-06-11 10:58:47 · 923 阅读 · 0 评论 -
数字图像的边缘检测(一)
人眼之所以能区分不同物体,是由于不同物体对光的反射强度不同,从而在物体之间形成亮度和色彩上的对比,这种对比最明显的地方就是物体的边缘。对于使用图像传感器形成的数字图像来说,颜色相近的像素在一起形成不同的区域,不同区域间的边缘同样表现为颜色亮度的跃变。(1)基本原理如果将灰度看作一个函数,那么描述灰度变化最直观的工具就是微分了。而图像的灰度是个二元函数,因此需要用到偏微分。与一元函数不同...原创 2017-06-11 11:07:22 · 6015 阅读 · 0 评论 -
直方图规定化(匹配)
(1)基本原理上一篇博文中讲到的直方图均衡技术,可以自动地确定变换函数,而产生具有均匀直方图的输出图像。对于需要自动增强时,该算法仅需简单的操作就能扩展灰度级,且结果可以预知,因此是一种好方法。但是,不同图像出现的问题不尽相同,有时我们需要根据图像的某种缺陷,得出处理后的图像需要具有某种形状的直方图。因此,均衡化这样单一的方法显然不能成为万能钥匙。这时,就轮到直方图规定化技术登场了。规定化,顾...原创 2017-06-11 11:29:37 · 12645 阅读 · 5 评论 -
转义字符惹的鬼
最近学习openCV,写了个小程序,大致就是将两幅图像进行混合。编译链接后生成可执行文件,之前在VS中运行还是可以的,直接点击exe文件运行,却发生了如下的错误: 错误是啥意思我也没看懂,不过还是马上察觉到哪里出了问题,代码中我读入图像数据用的是相对路径”1.png”,而生成的exe文件与图像却不在同一级目录下,这才导致了错误的发生,于是改用绝对路径替换”H:\Work_opencv\Trac原创 2017-06-11 11:34:20 · 494 阅读 · 0 评论 -
中值滤波
1、基本原理图像的中值滤波是一种非线性图像处理方法,是统计排序滤波器的一种典型应用。与之前介绍的均值处理的思想有所不同,中值滤波是通过对邻域内像素按灰度排序的结果决定中心像素的灰度。具体的操作过程如下:用一个奇数点的移动窗口,将窗口中心点的值用窗口内各点的中值代替。假设窗口内有5个点,其值为1,2,3,4和5,那么此窗口内各点的中值即为3,也就是用3来代替中心点的像素值。中值滤波对于滤除脉冲干扰及...原创 2017-06-05 11:54:00 · 50728 阅读 · 4 评论 -
MATLAB图形保存引发的猜想
<span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋体;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-the原创 2017-06-05 11:54:06 · 513 阅读 · 0 评论 -
RGB,YUV颜色空间简介
计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通过发射出三种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为RGB色彩空间表示(它也是多媒体计算机技术中用得最多的一种色彩空间表示方法)。 根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R原创 2017-06-05 11:52:02 · 764 阅读 · 0 评论 -
流水线设计
流水线设计是指将组合逻辑延时路径系统地分割,并在各个部分(分级)之间插人寄存器暂存中间数据的方法.流水线缩短了在一个时钟周期内信号通过的组合逻辑电路延时路径长度,从而提高时钟频率.对于同步电路,其速度就是指同步电路时钟的频率,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大,即电路的吞吐量就越大,理论而言,采用流水线技术能够提高同步电路的运行。 就拿一个简单的例子来说吧原创 2017-06-05 11:52:39 · 3739 阅读 · 0 评论 -
Matlab读取图片引发的思考
晚上在进行matlab读取图片时发现这样一个有趣的问题,一幅图片用windows照片查看器查看是这样的:按这么算的话,这幅图片占的内存应该是1280x720x24/8=2764800byte。但事实却不是这样的:用matlab查看是这样的:可以发现,matlab计算的结果和手算的结果一样,那么为什么照片显示器会显示不一样呢?仔细想了下,这幅照片的格式是jpg的,这说明照片是已经经过压缩的,压缩算法原创 2017-06-05 11:53:12 · 860 阅读 · 0 评论 -
数字图像的冗余
数字图像的冗余主要表现为以下几种形式:空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余和知识冗余。空间冗余:图像内部相邻像素之间存在较强的相关性多造成的冗余。时间冗余:视频图像序列中的不同帧之间的相关性所造成的冗余。视觉冗余:是指人眼不能感知或不敏感的那部分图像信息。信息熵冗余:也称编码冗余,如果图像中平均每个像素使用的比特数大于该图像的信息熵,则图像中存在冗余,这种冗余称为信息熵冗余。原创 2017-06-05 11:54:03 · 7220 阅读 · 0 评论 -
Cell类型报错提示
在写离散卷积函数时遇到一个问题,matlab报错:大概意思就是cell型不能直接乘。问题是我在程序中并没有使用cell类型,为什么会报这个错?网上搜了一下,没找到解决办法,只能自己试着找错误了。代码如下:function yn=conv_d(xn,hk)%计算序列xn和序列hk的长度 k = length(hk); n = length(xn); %计算输出序列yn的长度 N = k+n-1 ;原创 2017-06-05 11:54:12 · 10981 阅读 · 0 评论 -
图像数据类型引发的思考
最近在研究图像的频域处理时碰到一个小问题:利用fft算法得到一幅图像的频谱,并通过显示此频谱的图像来进行可视化分析。程序如下:I=imread('9.tif');>> f=fft2(I);>>fc= fftshift(abs(f));>> imshow(fc) 这与书上得到的频谱图像差距很大: 仔细对比发现,代码和书上唯一不同的地方只有最后一句:imshow(fc,[]),那么问原创 2017-06-05 11:54:09 · 620 阅读 · 0 评论 -
仿真利器——SignalTap的波形导出功能
最近在做视频解码的项目,遇到一个难题,BT656解码模块写好后,想仿真看看功能是否正确,发现更本无从下手。原因是整个解码模块只有两个输入,一个时钟,一个8位的YUV4:2:2数据流,所有的行场同步信号、消影信号、奇偶场信号都嵌在YUV数据流里。如图所示: 这种情况下,如果仅仅在tb中模拟几个输入数据来测试代码,很难看到效果,毕竟一行信号就有七百多个像素之多,而且自己模拟的数据也不具有真实原创 2017-06-05 11:52:51 · 8150 阅读 · 0 评论