[数字图像处理]3*3模板灰度图像空间域变换

 1 function [  ] = picSmooth0(A ,s)
 2 %picSmooth0 此处显示有关此函数的摘要
 3 %picSmooth0(A,s)  A为图像矩阵    s为3*3变换矩阵
 4 %   此处显示详细说明
 5 [M,N,a]=size(A);
 6 if a == 3
 7     B=rgb2gray(A);
 8 else
 9     B=A;
10 end
11 B=double(B);    %防止溢出
12 P=zeros(M,N);
13 k=0;
14 sum=0;
15 [m,n]=size(s);
16 if( m~=3 || n~=3)
17        fprintf(‘请输入正确的3*3空间域平滑模板‘);
18 else
19         for i=1:3
20             for j=1:3
21                 sum=sum+s(i,j);
22             end
23         end
24
25         for i=1:M
26             for j = 1:N
27                 k=0;
28                 if((0<i-1&&i-1<=M) && (0<j-1&&j-1<=N))
29                     k=k+s(1,1)*B(i-1,j-1);
30                 end
31                 if(0<i&&i<=M && 0<j-1&&j-1<=N)
32                     k=k+s(2,1)*B(i,j-1);
33                 end
34                 if(0<i+1&&i+1<=M && 0<j-1&&j-1<=N)
35                     k=k+s(3,1)*B(i+1,j-1);
36                 end
37
38                 if(0<i-1&&i-1<=M && 0<j&&j<=N)
39                     k=k+s(1,2)*B(i-1,j);
40                 end
41                 if(0<i&&i<=M && 0<j&&j<=N)
42                     k=k+s(2,2)*B(i,j);
43                 end
44                 if(0<i+1&&i+1<=M && 0<j&&j<=N)
45                     k=k+s(3,2)*B(i+1,j);
46                 end
47
48                 if(0<i-1&&i-1<=M && 0<j+1&&j+1<=N)
49                     k=k+s(1,3)*B(i-1,j+1);
50                 end
51                 if(0<i&&i<=M && 0<j+1&&j+1<=N)
52                     k=k+s(2,3)*B(i,j+1);
53                 end
54                 if(0<i+1&&i+1<=M && 0<j+1&&j+1<=N)
55                     k=k+s(3,3)*B(i+1,j+1);
56                 end
57                 P(i,j)=k;
58             end
59         end
60 end
61 P=P/sum;
62 P=uint8(P);
63 B=uint8(B);
64
65 figure;
66 imshow(B);
67 figure;
68 imshow(P);
69
70 end

转载请注明来源

时间: 2024-08-23 10:34:40

[数字图像处理]3*3模板灰度图像空间域变换的相关文章

2_Matlab图像的空间域变换操作

1. 目的:为了达到某种视觉效果,变换输入图像的像素位置,通过把输入图像的像素位置映射到一个新的位置以达到改变原图像显示效果的目的. 2. 操作包括: ? 图像插值(Interpolation) ? 图像缩放(Resizing) ? 图像旋转(Rotation) ? 图像剪切(Cropping) 3.图像差值操作 1)原因:在处理图像的过程中,比如对图像进行缩放及旋转,这时图像中每个像素的值都要发生变化.数字图像的坐标是整数,经过这些变换之后的坐标不一定是整数,使得输入图像的像素点经过空间域变换

【数字图像处理】四.MFC对话框绘制灰度直方图

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行回忆讲解,主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方图,再获取平均灰度.中指灰度和标准差等值.文章比较详细基础,希望该篇文章对你有所帮助~ [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 [数字图像处理]三.MFC实现图像灰度.采样和量化功能详解 免费资源下载地址: http://download.csdn.ne

【数字图像处理】三.MFC实现图像灰度、采样和量化功能详解

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP格式图片,并通过Bitmap进行灰度处理.图片采样和量化功能. 个人认为对初学者VC++6.0可能还是很值得学习的工具,所以采用它来讲解,而不是VS或C#.同时文章比较详细基础,希望该篇文章对你有所帮助~ [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 免费资源下载地址: http://dow

数字图像处理-空间域处理-空间滤波-锐化空间滤波器

参考自:数字图像处理第三版-冈萨勒斯 锐化处理的主要目的是突出灰度的过渡部分.增强边缘和其他突变(噪声),削弱灰度变化缓慢的区域. 注意:垂直方向是x,水平方向是y 基础 图像模糊可用均值平滑实现.因均值处理与积分类似,在逻辑上,我们可以得出锐化处理可由空间微分来实现.微分算子的响应强度与图像的突变程度成正比,这样,图像微分增强边缘和其他突变,而削弱灰度变化缓慢的区域. 微分算子必须保证以下几点:(1)在恒定灰度区域的微分值为0:(2)在灰度台阶或斜坡处微分值非0:(3)沿着斜坡的微分值非0 一

【数字图像处理之(四)】用图像增强谈灰度直方图

灰度直方图 是灰度级的函数,描述的是图像中该灰度级的像个数或该灰度级像素出现的频率(归一化) 生成并绘制直方图: src = imread('Fig0303(a)(breast).tif'); imshow(src); h1 = imhist(src); %生成直方图 figure,imhist(src,255); %绘制直方图 h2 = imhist(src, 25); %生成直方图 horz = linspace(0, 255, 25); figure,bar(horz, h2); %绘制条

【数字图像处理】五.MFC图像点运算之灰度线性变化、灰度非线性变化、阈值化和均衡化处理具体解释

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说.主要通过MFC单文档视图实现显示BMP图片点运算处理.包含图像灰度线性变换.灰度非线性变换.图像阈值化处理.图像均衡化处理等知识,并结合前一篇论文灰度直方图进行展示 .同一时候文章比較具体基础,希望该篇文章对你有所帮助,尤其是刚開始学习的人和学习图像处理的学生. [数字图像处理]一.MFC具体解释显示BMP格式图片 [数字图像处理]二.MFC单文档切割窗体显示图片 [数字图像处理]

【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放详解

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图片空间几何变换,包括图像平移.图形旋转.图像反转倒置镜像和图像缩放的知识.同时文章比较详细基础,没有采用GDI+获取矩阵,而是通过读取BMP图片信息头和矩阵像素实现变换,希望该篇文章对你有所帮助,尤其是初学者和学习图像处理的学生. [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 [数字图像处

《数字图像处理原理与实践(MATLAB版)》一书之代码Part3

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part3(P81~135),代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明http://blog.csdn.net/baimafujinji/article/details/40987807 P92 i = imread('Hepburn.jpg');%注意w和h1这两个模板是等价的w = [1 1 1;1 1 1;1 1 1]/9;h1 =

[数字图像处理]图像去噪初步(1)--均值滤波器

1.图像去噪的前言 上一篇博文中,我对噪声的类型进行了介绍,也使用的Matlab对各种噪声进行了实现.旧话重提,一幅图像,甚至是一个信号的老化,能够使用下面模型来表示. 能够使用下面算式来表示 这里,因为退化函数的作用,使得原图像产生退化(比方,运动模糊),然后在加上一个加性噪声项. 本博文,主要对去除加性噪声的线性滤波器的性能进行了比較.对于退化函数的去除(称为去卷积或者逆滤波),将放在稍后的博文. 1.1 实验用图像 1.2 实验结果的评价 实验的步骤为,将实验用图像加上加性噪声,然后使用滤