ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:71.07KB ,
资源ID:7710858      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7710858.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字图像处理期末复习资料.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数字图像处理期末复习资料.docx

1、数字图像处理期末复习资料空域内对图像进行平移运算(几何运算)图像平移变换式的矩阵形式为:P37close all;clear all;clc;%图像的平移运算Im = imread(meinv.jpg);if numel(size(Im) 2 %如果是彩色图像就转换为灰度图像Im = rgb2gray(Im); endIm = im2double(Im); %归一化处理subplot(1, 2, 1); imshow(Im); title(平移前的图像);m, n = size(Im); %获取图像大小res = zeros(m, n) + 255; %构造结果矩阵。每个像素点默认初始化为0(

2、黑色)delX = 50; %平移量XdelY = 50; %平移量Ymask = 1 0 delX; 0 1 delY; 0 0 1; %平移的变换矩阵fori = 1 : mfor j = 1 : ntmp = i; j; 1;tmp = mask * tmp; %矩阵乘法 得到的结果是一个3行1列的数 x = tmp(1, 1); y = tmp(2, 1); %判断变换后的位置是否越界if (x = m) & (y = 1) & (y = 1)res(x, y) = Im(i, j);endendendsubplot(1, 2, 2); imshow(res); title(平移后的图

3、像);空域内对图像进行镜像运算(几何运算)%灰度图像clcclearimg = imread(meinv.jpg);%读取图像if ndims(img) = 3 %ndims(a)表示矩阵a的维数。如果是彩色图像就转换为灰度图像img = rgb2gray(img); % 转换endsubplot(1, 3, 1); imshow(img); title(原始图像);img = im2double(img);% 转换为double类型,使所有点在0-1之间m, n = size(img);%获取图像大小res1 = zeros(m, n) + 255;%构造结果矩阵,加255将图像初始化为白色

4、,不加就是黑色res2 = zeros(m, n) + 255;fori = 1 : mfor j = 1 : n res1(i, n - j + 1) = img(i, j);%水平镜像 res2(m - i + 1, j) = img(i, j);%垂直镜像endendsubplot(1, 3, 2); imshow(res1); title(水平镜像);subplot(1, 3, 3); imshow(res2); title(垂直镜像);imwrite(res1, hor.bmp);imwrite(res2, ver.bmp);%彩色图像clcclearimg = imread(mei

5、nv.jpg);%读取图像subplot(1, 3, 1); imshow(img); title(原始图像);img = im2double(img);% 转换为double类型,使所有点在0-1之间m, n, l = size(img);%获取图像大小res1 = zeros(m, n, l) + 255;%构造结果矩阵,加255将图像初始化为白色,不加就是黑色res2 = zeros(m, n, l) + 255;fori = 1 : mfor j = 1 : nfor k = 1 : l res1(i, n - j + 1, k) = img(i, j, k);%水平镜像 res2(m

6、 - i + 1, j, k) = img(i, j, k);%垂直镜像endendendsubplot(1, 3, 2); imshow(res1); title(水平镜像);subplot(1, 3, 3); imshow(res2); title(垂直镜像);imwrite(res1, hor.bmp);imwrite(res2, ver.bmp);空域内使用指定的模板对灰度图像进行平滑处理1%均值滤波clcclose all;clearimg = imread(meinv.jpg);if numel(size(img) 2 %如果是彩色图像就转换为灰度图像img = rgb2gray(

7、img); endfigure;imshow(img);img = double(img);%n是模板大小(即nn) n = 3; a(1 : n, 1 : n) = 1; %a即nn模板,元素全是1 height, width = size(img); %输入图像是height,width的,且hightn,widthn x1 = double(img); x2 = x1;fori = 1 : height - n + 1 for j = 1 : width - n + 1 c = x1(i :i + (n - 1), j : j + (n - 1) .* a; %取出x1中从(i,j)开始

8、的n行n列元素与模板相乘 s = sum(sum(c); %求c矩阵中各元素之和 x2(i + (n - 1) / 2,j + (n - 1) / 2) = s / (n * n); %将与模板运算后的各元素的均值赋给模板中心位置的元素 endend%未被赋值的元素取原值 pha = uint8(x2); figure; imshow(pha);2%中值滤波(最大值滤波、最小值滤波)clcclose all;clearimg = imread(meinv.jpg);if numel(size(img) 2 %如果是彩色图像就转换为灰度图像img = rgb2gray(img); endfigu

9、re;imshow(img);img = double(img);%n是模板大小(即nn) n = 3; a(1 : n, 1 : n) = 1; %a即nn模板,元素全是1 height, width = size(img); %输入图像是height,width的,且hightn,widthn x1 = double(img); x2 = x1;fori = 1 : height - n + 1 for j = 1 : width - n + 1 c = x1(i : i + (n - 1),j : j + (n - 1); %取出x1中从(i,j)开始的n行n列元素,即模板(nn的) e

10、 = c(1, :); %是c矩阵的第一行 for u = 2 : n e = e, c(u, :); %将c矩阵变为一个行矩阵 end %mm=median(e);%mm是中值(mm=max(e)是最大值,mm = min(e)是最小值)mm = min(e); x2(i + (n - 1) / 2,j + (n - 1) / 2) = mm; %将模板各元素的中值赋给模板中心位置的元素 endend%未被赋值的元素取原值 pha = uint8(x2); figure; imshow(pha);彩色图像平滑处理(均值滤波)close all;clearclcimg = imread(mei

11、nv.jpg);if (numel(size(img) 2 %如果是彩色图像就转换为灰度图像img = rgb2gray(img); endsubplot(1, 3, 1); imshow(img); title(原始图像);m, n = size(img);img = im2double(img);dimg = img;%边界for i = 2 : m - 1%非边界for j = 2 : n - 1dimg(i, j) = (img(i + 1, j) + img(i - 1, j) + img(i, j + 1) + img(i, j - 1) / 4;endendsubplot(1,

12、3, 2); imshow(dimg); title(模板运算后的图像);subplot(1, 3, 3); imshow(img + dimg); title(增强的图像);2模板:clcclose all;clearimg = imread(meinv.jpg);if numel(size(img) 2 %如果是彩色图像就转换为灰度图像img = rgb2gray(img); endfigure;imshow(img);m, n = size(img);img = im2double(img);a = input(请输入a值(范围在0, 1之间):);dimg = img; %边界for

13、i = 2 : m - 1 %非边界for j = 2 : n - 1dimg(i, j) = img(i - 1, j) * (-a) + img(i, j - 1) * (-a) + img(i, j) * (1 + 4 * a) + img(i, j + 1) * (-a) + img(i + 1, j) * (-a);endendfigure; imshow(img + dimg);3模板:clcclose all;clearimg = imread(meinv.jpg);if numel(size(img) 2 %如果是彩色图像就转换为灰度图像img = rgb2gray(img);

14、 endfigure;imshow(img);m, n = size(img);img = im2double(img);dimg = img; %边界for i = 3 : m - 2 %处理非边界像素for j = 3 : n - 2dimg(i, j) = img(i - 2, j - 2) + img(i - 2, j - 1) * 4 + img(i - 2, j) * 7 + img(i - 2, j + 1) * 4 + img(i - 2, j + 2) + img(i - 1, j - 2) * 4 + img(i - 1, j - 1) * 16 + img(i - 1,

15、j) * 26 + img(i - 1, j + 1) * 16 + img(i - 1, j + 2) * 4 + img(i, j - 2) * 7 + img(i, j - 1) * 26 + img(i, j) * 41 + img(i, j + 1) * 26 + img(i, j + 2) * 7 + img(i + 1, j - 2) * 4 + img(i + 1, j - 1) * 16 + img(i + 1, j) * 26 + img(i + 1, j + 1) * 16 + img(i + 1, j + 2) * 4 + img(i + 2, j - 2) + img

16、(i + 2, j - 1) * 4 + img(i + 2, j) * 7 + img(i + 2, j + 1) * 4 + img(i + 2, j + 2);endendfigure; imshow(img + dimg / 273);拉普拉斯模板、锐化算子(P65)4彩色图像拉普拉斯模板close all;clearclc;img = imread(meinv.jpg);if (numel(size(img) 2 %如果是彩色图像就转换为灰度图像img = rgb2gray(img); endsubplot(221); imshow(img); xlabel(原图像);img = d

17、ouble(img); %数据类型转换img = fft2(img); %图像Fourier变换img = fftshift(img); %Fourier变换平移,中心变换%中心变换代码实现,反中心变化也是一样的% for i = 1 : m% for j = 1 : n% img(i, j) = (-1) (i + j) * img(i, j);% end% endF2 = log(abs(img); %对Fourier变换结果取绝对值,然后取对数subplot(222);imshow(F2, ,InitialMagnification,fit); %将计算后的矩阵用图像表示xlabel(b)原始图像的Fourier变换图像 );N1, N2 = size(img); %Fourier变换图像尺寸n = 2; %参数赋初值。高通n = 0.3d0 = 205;n1 = round(N1 / 2); %数据取整n2 = round(N2 / 2); %数据取整for i = 1 : N1 %遍历图像像素for j = 1 : N2 d = sqrt

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2