灰度化,也就是黑白化,就是将图像进行黑白处理,使其失去色彩。而从像素点出发,就是使各个像素点的三种颜色分量R、G、B的值相同。

常用的黑白化的方法有三种:

  • 第一种是最大值法(Maximum):

R=G=B=Max(R,G,B),这种方法处理后灰度图象的亮度会偏高,不建议采用。

  • 第二种就是平均值法(Average):

R=G=B=(R+G+B)/3,这种方法处理后灰度图象的亮度较柔和,本人就是采用的这种方法。

  • 第三种是加权平均值法(Weighted Average):

R=G=B=w r *R+w g *G+w b *B,w r、 w g、 w b 分别为R、G、B的权值。

鉴于本人只使用了第二种,所以就先贴上第二种的代码:

src=imread('background.bmp');
[m,n,channel]=size(src);
desc=zeros(m,n);
desc=double(desc);
for i=1:m
    for j=1:n
        for k=1:channel
            desc(i,j)=desc(i,j)+src(i,j,k);
        desc(i,j)=desc(i,j)/3;
imshow(uint8(desc));

锐化就是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波。锐化处理在增强图象边缘的同时增加了图象的噪声。

常用的锐化模板是拉普拉斯(Laplacian)模板,而本人也是采用的拉普拉斯模板进行的锐化处理。

[-1,-1,-1]

[-1,9,-1]

[-1,-1,-1]

平滑与锐化相反,就是滤掉高频分量,从而达到减少图象噪声,使图片变得有些模糊。

常用的平滑处理方法有三种:

Box模板去噪平滑处理,也就是均一化处理。

Box模板是{1,1,1,1,1,1,1,1,1}

高斯模板去噪平滑处理,就是在Box模板的基础上加入了加权系数,考虑了距离某点位置越近影响越大的因素。相比Box模板,较为清晰一些。

高斯模板是{1,2,1,2,4,2,1,2,1}

中值滤波去噪平滑处理,就是将该点左右邻近的两个点的rgb值与该点自身进行比较,选择其中最中间的值赋给该点。
Img1=imread('Fig4.jpg');subplot(3,3,1);imshow(Img1);title('Fig4.jpg');
w1=[1,1,1;1,1,1;1,1,1];w2=[1,2,1;2,4,2;1,2,1];
w3=[-1,-2,-1;0,0,0;1,2,1];w4=[-1,0,1;-2,0,2;-1,0,1];
k1=1/sum(sum(w1));k2=1/sum(sum(w2));
variance=225;
[m,n]=size(Img1);
I1=uint8(double(Img1)+randn(m,n).*sqrt(variance)+5);
subplot(3,3,2);imshow(I1);title('gs.png');
II1=double(I1);
II11=double(I1);
II111=double(I1);
for i=2:m-1
    for j=2:n-1
        p=[II1(i-1,j-1),II1(i-1,j),II1(i-1,j+1);II1(i,j-1),II1(i,j),II1(i,j+1);II1(i+1,j-1),II1(i+1,j),II1(i+1,j+1)];
        II1(i,j)=sum(sum((p.*w1)*k1));
        a=(p.*w1);
        pp=sort(reshape(a,1,9));
        II11(i,j)=pp(5);
        II111(i,j)=abs(sum(sum(p.*w3)))+abs(sum(sum(p.*w4)));
subplot(3,3,5);imshow(uint8(II1));title('normal 均值滤波 gs.png');
subplot(3,3,8);imshow(uint8(II11));title('normal 中值滤波 gs.png');
subplot(3,3,7);imshow(uint8(II11));title('normal 锐化 gs.png');
I2=Img1;
a=rand(m,n);
for i=1:m
    for j=1:n
        if(a(i,j)>0.975)
               I2(i,j)=255;
        elseif(a(i,j)<0.05)
                I2(i,j)=0;
subplot(3,3,3);imshow(I2);title('jyzs.png');
II2=double(I2);
II22=double(I2);
for i=2:m-1
    for j=2:n-1
        p=[II2(i-1,j-1),II2(i-1,j),II2(i-1,j+1);II2(i,j-1),II2(i,j),II2(i,j+1);II2(i+1,j-1),II2(i+1,j),II2(i+1,j+1)];
        II2(i,j)=sum(sum((p.*w2)*k2));
        a=(p.*w1);
        pp=sort(reshape(a,1,9));
        II22(i,j)=pp(5);
subplot(3,3,6);imshow(uint8(II2));title('normal jyzs.png');
subplot(3,3,9);imshow(uint8(II22));title('normal 中值滤波 jyzs.png');
https://blog.csdn.net/hjxu2016/article/details/80587653
图像平滑
图像平滑是一种区域增强算法,平滑算法由领域平均法、中值滤波法等。
领域平均法是一种简单的图像平滑处理方法,在一定程度上能够消除原始图像噪声、降低原始图像对比度;其缺点是在降低噪声的同时,会使图像变得模糊,特别是在边缘和细节处,而且模板
                                    1.平滑(smoothing)
先举个例子说明一下什么是平滑,如下图所示:
图像平滑锐化(转)" alt="数字图像处理学习笔记1- 图像平滑锐化(转)" src="http://s10.sinaimg.cn/middle/6c083cdd495b316784ce9&690">
可以看到,图2 比图1 柔和一些(也模糊一些)。是不是觉得很神奇?其实实现起来很简单。我们将原图中
                                    OpenCV与图像处理学习八——图像边缘提取(Canny检测代码)一、图像梯度1.1 梯度1.2 图像梯度二、梯度图与梯度算子2.1模板卷积2.2 梯度图2.3 梯度算子2.3.1 Roberts交叉算子2.3.2 Prewitt算子2.3.3 Sobel算子三、Canny边缘检测算法(代码实现)
这次笔记简单介绍图像梯度、梯度图以及梯度算子的概念,并详细介绍三种基本的梯度算子,然后简单的介绍Canny检测的原理与代码实现。
一、图像梯度
1.1 梯度
先来看梯度的概念:
梯度是一个向量,梯度方向指向函数变
1、掌握频率域滤波的基本概念和常用方法;
2、利用MATLAB进行频率域滤波,观察图像平滑图像锐化的效果,加深对频率域滤波的理解;
3、掌握图像FFT变换与DCT变换后进行频率域滤波的不同;
4、掌握低通滤波与高通滤波原理,对DCT变换后的图像进行低通滤波和高通滤波。
二、实验原理
图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。频率直接关系到图像空间灰度的...
                                    数字图像处理第六章数字图像处理---彩色图像处理(五)  彩色图像的空间滤波5.1 彩色图像平滑处理5.2 彩色图像锐化处理(六)  直接在 RGB 矢量空间中 处理6.1 使用梯度的彩色边缘检测6.2  在 RGB向量空间中分割图像
数字图像处理—彩色图像处理
(五)  彩色图像的空间滤波
5.1 彩色图像平滑处理
令 Sxy表示彩色图像中以(x,y)为中心的邻域的一组坐标。在该邻域中,R...