数字图像处理 实验一 图像的基本运算
实验一 图像的基本运算
一、实验目的
(1)掌握点运算和代数运算的算法实现和概念
(2)掌握和几何运算的算法实现和概念
(2)掌握灰度变换和几何变换的基本方法
(3)理解图像灰度直方图的概念
二、实验内容
(1)任意选择几幅图像,查看其直方图,说明直方图和图像的对应关系。
(2)任意选择几幅图像,对其进行灰度线性变换,结合以下情况分析输入图像和输出图像两者有何变化。
Ø 当斜率a>1时;
Ø 当斜率 a<1时;
Ø 当斜率a=1,b<0时;
Ø 当斜率a=1,b>0时;
Ø 当斜率a=1,b=0时;
Ø 当斜率a=-1,b=255时;
(3)选择几幅图像,对其进行灰度拉伸,选择不同的拉伸参数,观察图像与原图有何不同,总结灰度拉伸的原理。
(4)选择几幅图像对其进行几何变换,理解不同变换对图像产生的影响。
三、实验代码、结果、分析
(1)代码:
I=imread('C:\Users\xxxy\Desktop\1.jpg'); imshow(I)
I=rgb2gray(I); %将真彩色图像转换为灰度图像,即灰度化处理
add=[]; tab1=zeros(1,256);
for n=0:255
X=I==n; add=[add;sum(sum(X))];
end;
[a b]=size(I); final=add/(a*b);
figure; imshow(I);
figure; bar(0:255,final,'g')
figure; imhist(I)
结果:
图1-1:原图 图1-2:灰度图
图1-3 直方图 图1-4 纵坐标扩大直方图
分析:灰度直方图描述了该灰度级的像素的个数,其横坐标是灰度级,纵坐标是该灰度级出现的概率,eg:灰度值为100的概率可近似看做0.004
(2)代码
I=imread('C:\Users\xxxy\Desktop\2.jpg'); imshow(I)
y=a*I+b/255; %线性点运算
figure subplot(2,2,1); imshow(y);
图2-1 原图
a,b值分别如下,及结果图:
[1]a=2;b=10; [2]a=0.3;b=1;
图2-2:a>1 图2-3:a<1
[3]a=1;b=-10; [4]a=1;b=10; [5]a=1;b=0;
图2-4:a=1,b<0 图2-5:a=1,b>0 图2-6:a=1,b=0
[7]a=-1;b=255;
图2-7:a=-1,b=255
分析:
[1] 如果a>1,输出图像的对比度变大,即图像变得更亮
[2] 如果a<1,输出图像的对比度减小,即图像变得更暗
[3] 如果a=1,b<0,输出图像下移,图像显示的更暗
[4] 如果a=1,b>0,输出图像上移,图像显示的更亮
[5] 如果a=1,b=0,输出图像不变,与原图像一样
[6] 如果a=1,b<0,输出图像下移,图像显示的更暗
[7] 如果a<0,b<0,输出图像亮区变暗,暗区变亮
(3)代码:
I=imread('C:\Users\xxxy\Desktop\3.jpg');imshow(I)
Y=double(I); %将参数I转为双精度浮点类型
[M,N]=size(Y);
for i=1:M
for j=1:N
if Y(i,j)<=30
Y(i,j)=I(i,j);
else if Y(i,j)<=150
Y(i,j)=(200-30)/(160-30)*(I(i,j)-30)+30;
else Y(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;
end
end
end
end
figure(2); imshow(uint8(Y))
结果:
图3-1:原图 图3-2:灰度拉伸
分析:
将其小于30的灰度值不变,将30到150的灰度值拉伸到30到200,同时压缩150到255的灰度值到200到255之间
(4)代码:
I=imread('C:\Users\xxxy\Desktop\4.jpg'); imshow(I); figure;
se = translate(strel(1), [100 100]);
a = imdilate(I,se); imshow(a)%平移 figure;
b = imresize(I,1.5) imshow(b)%放大1.5 figure;
c= imresize(I,0.5) imshow(c)%缩小0.5 figure;
[height,width,dim]=size(I);
tform1=maketform('affine',[-1 0 0;0 1 0;width 0 1]);
d1=imtransform(I,tform1,'nearest'); imshow(d1);%水平镜像 figure;
tform2=maketform('affine',[1 0 0;0 -1 0;0 height 1]);
d2=imtransform(I,tform2,'nearest'); imshow(d2);%垂直镜像 figure;
e1 = imrotate(I,90); imshow(e1)%旋转90度 figure;
e2 = imrotate(I,180); imshow(e2)%旋转180度 figure;
e3 = imrotate(I,270); imshow(e3)%旋转270度 figure;
e4 = imrotate(I,360); imshow(e4)%旋转360度 figure;
图4-1:原图 图4-2:平移
图4-3:放大1.5 图4-4:缩小0.5
图4-5:水平镜像 图4-5:垂直镜像
图4-7:旋转90度 图4-8:旋转180度
图4-9:旋转270度 图4-10:旋转360度
数字图像处理 实验一 图像的基本运算相关推荐
- 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理
数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...
- 数字图像处理实验四图像频域增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...
- 数字图像处理实验七--图像压缩编码
数字图像处理实验七 (图像压缩编码) 实验内容: 基于游程编码的图像压缩 基于离散余弦变换的图像压缩 实验步骤: 使用给定的图像lena做实验,采用im2bw把灰度图像转换为二值图像,试计算二值化时阈 ...
- 数字图像处理实验三-图像基本运算
实验内容 (1)对图像进行线性点运算. (2)对图像比例放大1.5倍,比例缩小0.7倍,非比例放大到600x700像素,非比例缩小到300x400像素. (3)对图像旋转30度.60度.90度.135 ...
- 数字图像处理实验八图像的傅里叶变换
自选一幅灰度图像,编写MATLAB程序,完成图像的傅里叶变换并显示图像傅里叶变换谱. 1.快速图像傅里叶变换函数 Y = fft2(X) 2.将图像频谱零频分量移动到图像频谱中心 Y = fftshi ...
- 图像处理边缘增强matlab,数字图像处理实验 matlab 图像增强 边缘检测 图像操作.doc...
数字图像处理实验 matlab 图像增强 边缘检测 图像操作 实验1 点运算和直方图处理 实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理. ...
- 数字图像处理实验(总计23个)汇总
以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...
- 数字图像处理实验三图像增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的 感性认识,巩固所学的图像增强的理论知识和相 关算法. (2)熟练掌握直方图均衡化和直方图规定化的计算过 程. (3)熟练掌握空域滤波中常 ...
- 数字图像处理实验5图像复原
一.实验目的 (1)了解图像复原的目的及意义,加深对图像复原理论的认识. (2)掌握维纳滤波复原基本原理. (3)掌握约束最小二乘方复原方法. (4)掌握盲解卷积复原方法 二.实验内容 (1)维纳滤 ...
最新文章
- 云计算重构渠道商的价值基础,推动渠道商向服务商转型
- nginx conf 文件
- hibernate学习笔记二
- QT实现绘制3D基本形状
- Docker的安装与启动教程
- Spring Boot 中统一异常处理最佳实践介绍
- 一句实现jquery导航栏
- springboot毕设项目北理珠青协志愿素拓系统eaa9n(java+VUE+Mybatis+Maven+Mysql)
- python自动排版公众号_如何实现公众号排版自动化?微信公众号一键排版软件推荐...
- 删除计算机用户时拒绝访问权限,c盘为什么拒绝访问 删除c盘文件需要管理员权限怎么办...
- ansible Inventory
- java格式化mac地址,java格式化mac地址(加分隔符,去分隔符)
- GPS北斗模块串口助手输出测试
- 运营商大数据丨电销行业如何高效获得精准客户
- 加班多?交友范围窄?单身互联网人点进来!
- discuz防灌水机制
- CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154. 错误的解决办法
- 阅站无数的过我只推荐下面这些网站
- 马家河子java,【JAVA】共同的森林
- 根据 MOB/vSphere APIs 获取 ESXi 服务器证书