matlab简单处理图像

本文介绍了如何使用Matlab进行图像操作,包括读取、显示、色阶调整、二值处理、多图显示、保存、灰度直方图分析、对比度增强、噪声添加、图像放大、旋转以及傅里叶变换等关键步骤。适合初学者和进阶者学习Matlab图像处理技术。
摘要由CSDN通过智能技术生成


前言

记载一些Matlab中处理图像的简单函数


1.读取图像

1.1 方法1

[filename pathname]=uigetfile('*.*,*.png','文件选择','*.png')
im = imread([pathname filename]);
imshow(im);
title('原图');

1.2 方法2

im = imread('rabbit.jpg');
imshow(im);
title('原图');

1.3 显示索引图像

[x,map] = imread('rabbit.jpg');
imshow(x);
title('原图');

1.4 直接显示图像

imshow('girl.jpg');
im=getimage;

2.colorbar显示色阶颜色栏

[x,map] = imread('rabbit.jpg');
imshow(x);
title('原图');
colorbar;

在这里插入图片描述

3. 显示二值图像

3.1双精度灰度图像

bw1=zeros(100,100);
bw1(2:2:98,2:2:98)=1;
imshow(bw1);

运行结果:
在这里插入图片描述

3.2 8位的灰度图像

bw1 = zeros(100,100);
bw1(2:2:98,2:2:98)=1;
bw2 = uint8(bw1);
imshow(bw2,[]);
colorbar;

在这里插入图片描述

4. subimage 多图显示

4.1多图显示多个调色板的图像

load trees;
[x2,map2]=imread('girl.jpg');
subplot(2,1,1),subimage(X,map);colorbar;
subplot(2,1,2),subimage(x2);colorbar ;

在这里插入图片描述

4.2不用专用函数显示多图

load trees;      %读取二进制数据文件
[x2,map2]=imread('girl.jpg');
subplot(2,1,1),imshow(x2,map2);colorbar
subplot(2,1,2),imshow(X,map);colorbar

在这里插入图片描述

5.保存图像

代码如下(示例):

[x,map] = imread('girl.jpg');
imwrite(x,'girl.tif');

6.数字图像读取

imfinfo('girl.jpg')

在这里插入图片描述

7.图像的灰度直方图

im = imread('girl.jpg');
if ndims(im) == 3
   im = rgb2gray(im);      %如果非灰度图像,则转换为灰度图像
end
imhist(im);

在这里插入图片描述

8.图像对比度增强

I = imread('girl.jpg');
J = imadjust(I,[0.3 0.7],[]);
subplot(1,2,1);
imshow(I);
title('原图');
subplot(1,2,2);
imshow(J);
title('对比度增强后');

在这里插入图片描述

9.人为加噪声

I=imread('F:\已学专业课\大三专业课\数字图像处理\作业\实验\02\image\girl.jpg');
J1=imnoise(I, 'gaussian',0,0.02);
J2=imnoise(I, 'salt & pepper',0.02);
J3=imnoise(I, 'speckle',0.02);
subplot(2,2,1),imshow(I),title('原图像');
subplot(2,2,2),imshow(J1),title('加高斯噪声');
subplot(2,2,3),imshow(J2),title('加椒盐噪声');
subplot(2,2,4),imshow(J3),title('加乘性噪声')

在这里插入图片描述

10.图像差值放大

I=imread('rabbit.jpg');
J = imresize(I,10);
imshow(I),title('原图像')
figure,imshow(J),title('放大后的图像');

11.图像旋转

I=imread('girl.jpg');
J=imrotate(I,30,'bilinear');
subplot(1,2,1);imshow(I);title('原图像')
subplot(1,2,2);imshow(J);title('旋转后的图像');

在这里插入图片描述

12.傅里叶变换

load imdemos saturn2
imshow(saturn2);title('原图');
B = fftshift(fft2(saturn2));
figure;
imshow(log(abs(B)),[]);title('傅里叶变换后');

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值