实验二图像基本操作参考程序
更新时间:2024-05-21 10:07:01 阅读量: 综合文库 文档下载
实验二 图像基本操作
一、实验目的
1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。 2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡和直方图规定化方法对图像进行修正。 二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN2000计算机
三、相关函数 ? 图像的增强
1、 直方图
imhist函数用于数字图像的直方图计算或显示,
imhist(I, n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。如果I是二值图像,那么n仅有两个值。
[counts,x] = imhist(...)返回直方图数据向量counts,相应的色彩值向量x。
如:
i=imread('e:\\w01.tif');
imhist(i); 2 、直方图均衡化
histeq函数用于数字图像的直方图均衡化,
J = histeq(I, n) 均衡化后的级数n,缺省值为64。
J = histeq(I, hgram) \直方图规定化\,即将原是图象 I 的直方图变换成用户指定的向量 hgram (即指定另一幅图像的直方图数据向量)。
如:
i=imread('e:\\w01.tif');
j=histeq(i,N);对图像i执行均衡化,得到具有N个灰度级的灰度图像j,N缺省值为64 3、 灰度调整
imadjust函数用于数字图像的灰度或颜色调整,
J = imadjust(I) 将灰度图像 I 中的亮度值映射到 J 中的新值并使 1% 的数据是在低高强度和饱和,这增加了输出图像 J 的对比度值。
J = imadjust(I,[low_in; high_in],[low_out; high_out]) 将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in 以下与 high_in 以上的值被剪切掉了,也就是说,low_in 以下的值映射到 low_out,high_in 以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]。 如:
i=imread('e:\\w01.tif');
j=imadjust(i,[0.3,0.7],[]);将图像i转换为j,使灰度值从0.3~0.7与缺省值0~1相匹配
? 运算函数
1、Zeros生成全0数组或矩阵
如 B = zeros(m,n) or B = zeros([m n]) 返回一个 m*n 全0矩阵 2、取整函数 floor最小取整函数 round四舍五入取整函数 ceil最大取整函数
如a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i] I=round(a)
I =[ -2 0 3 6 7 2+ 4i]
四、实验内容
1、对一幅图像进行2倍、4倍、8倍和16倍减采样,显示结果。 a=imread('f:/1.jpg'); b=rgb2gray(a); for m=1:4 figure
[width,height]=size(b);
quartimage=zeros(floor(width/(m)),floor(height/(2*m))); k=1; n=1;
for i=1:(m):width for j=1:(2*m):height quartimage(k,n)=b(i,j); n=n+1; end k=k+1; n=1; end
imshow(uint8(quartimage)); End
2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图。
a=imread('f:\\lena_color.png')
c=rgb2gray(a) b=c-46
subplot(2,1,1);imhist(c);title('原图像') subplot(2,1,2);imhist(b);title('变暗后的图像')
3、对图像b进行直方图均衡化,显示结果图像和对应直方图。 b=imread('f:\\lena_color.png') c=rgb2gray(b) j=histeq(c)
subplot(2,2,1),imshow(c) subplot(2,2,2),imshow(j)
subplot(2,2,3),imhist(c) %显示原始图像直方图 subplot(2,2,4),imhist(j) %显示均衡化后图像的直方图
4、读入图像c,执行直方图规定化,使图像a的灰度分布与c大致相同,显示变换后图像及对应直方图。 I=imread('f:\\lena.png');
>> J=histeq(I,64); %均衡化成32个灰度级的直方图 >> [counts,x]=imhist(J); %返回直方图图像向量counts b=imread('f:\\1.jpg') Q=rgb2gray(b)
>> M=histeq(Q,counts); %将原始图像Q的直方图变成指定向量counts >> figure,
>> subplot(3,2,1),imshow(I); >> subplot(3,2,2),imshow(Q); >> subplot(3,2,3),imhist(I); >> subplot(3,2,4),imhist(Q)
正在阅读:
实验二图像基本操作参考程序05-21
山大2017春季班期末考试 金融学111-28
关于发言开场白(共5篇)08-22
学雷锋策划书08-22
电梯安全使用基础知识03-21
面对成长作文600字06-30
混凝土结构设计原理复习题及答案0110-10
小学英语语法(含习题)06-21
2017年成都锦江区五年级语文半期测试题01-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 基本操作
- 图像
- 参考
- 实验
- 程序