实验一 图像的基本运算

一、实验目的

(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度

数字图像处理 实验一 图像的基本运算相关推荐

  1. 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理

    数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...

  2. 数字图像处理实验四图像频域增强

    一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...

  3. 数字图像处理实验七--图像压缩编码

    数字图像处理实验七 (图像压缩编码) 实验内容: 基于游程编码的图像压缩 基于离散余弦变换的图像压缩 实验步骤: 使用给定的图像lena做实验,采用im2bw把灰度图像转换为二值图像,试计算二值化时阈 ...

  4. 数字图像处理实验三-图像基本运算

    实验内容 (1)对图像进行线性点运算. (2)对图像比例放大1.5倍,比例缩小0.7倍,非比例放大到600x700像素,非比例缩小到300x400像素. (3)对图像旋转30度.60度.90度.135 ...

  5. 数字图像处理实验八图像的傅里叶变换

    自选一幅灰度图像,编写MATLAB程序,完成图像的傅里叶变换并显示图像傅里叶变换谱. 1.快速图像傅里叶变换函数 Y = fft2(X) 2.将图像频谱零频分量移动到图像频谱中心 Y = fftshi ...

  6. 图像处理边缘增强matlab,数字图像处理实验 matlab 图像增强 边缘检测 图像操作.doc...

    数字图像处理实验 matlab 图像增强 边缘检测 图像操作 实验1 点运算和直方图处理 实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理. ...

  7. 数字图像处理实验(总计23个)汇总

    以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...

  8. 数字图像处理实验三图像增强

    一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的 感性认识,巩固所学的图像增强的理论知识和相 关算法. (2)熟练掌握直方图均衡化和直方图规定化的计算过 程. (3)熟练掌握空域滤波中常 ...

  9. 数字图像处理实验5图像复原

    一.实验目的 (1)了解图像复原的目的及意义,加深对图像复原理论的认识. (2)掌握维纳滤波复原基本原理. (3)掌握约束最小二乘方复原方法. (4)掌握盲解卷积复原方法 二.实验内容  (1)维纳滤 ...

最新文章

  1. 云计算重构渠道商的价值基础,推动渠道商向服务商转型
  2. nginx conf 文件
  3. hibernate学习笔记二
  4. QT实现绘制3D基本形状
  5. Docker的安装与启动教程
  6. Spring Boot 中统一异常处理最佳实践介绍
  7. 一句实现jquery导航栏
  8. springboot毕设项目北理珠青协志愿素拓系统eaa9n(java+VUE+Mybatis+Maven+Mysql)
  9. python自动排版公众号_如何实现公众号排版自动化?微信公众号一键排版软件推荐...
  10. 删除计算机用户时拒绝访问权限,c盘为什么拒绝访问 删除c盘文件需要管理员权限怎么办...
  11. ansible Inventory
  12. java格式化mac地址,java格式化mac地址(加分隔符,去分隔符)
  13. GPS北斗模块串口助手输出测试
  14. 运营商大数据丨电销行业如何高效获得精准客户
  15. 加班多?交友范围窄?单身互联网人点进来!
  16. discuz防灌水机制
  17. CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154. 错误的解决办法
  18. 阅站无数的过我只推荐下面这些网站
  19. 马家河子java,【JAVA】共同的森林
  20. 根据 MOB/vSphere APIs 获取 ESXi 服务器证书

热门文章

  1. HuggingFace又出炼丹神器!稀疏矩阵运算进入平民化时代!
  2. 论文浅尝 - ECIR2021 | 两种实体对齐方法的严格评估
  3. 华为算法工程师-2020届实习招聘题
  4. Tomcat:部署成功后不能正常访问local:8080,服务已经启动。
  5. 配置 CentOS 7 的网络,及重命名网卡名
  6. Nginx 反向代理+高可用
  7. 404页面自动跳转javascript
  8. 噪音 - Perlin Noise
  9. SQL Server 执行 字符串
  10. 2.2. 3.调度算法的评价指标