matlab简单处理图像

文章目录

  • 前言
  • 1.读取图像
    • 1.1 方法1
    • 1.2 方法2
    • 1.3 显示索引图像
    • 1.4 直接显示图像
  • 2.colorbar显示色阶颜色栏
  • 3. 显示二值图像
    • 3.1双精度灰度图像
    • 3.2 8位的灰度图像
  • 4. subimage 多图显示
    • 4.1多图显示多个调色板的图像
    • 4.2不用专用函数显示多图
  • 5.保存图像
  • 6.数字图像读取
  • 7.图像的灰度直方图
  • 8.图像对比度增强
  • 9.人为加噪声
  • 10.图像差值放大
  • 11.图像旋转
  • 12.傅里叶变换


前言

记载一些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;

matlab简单处理图像_第1张图片

3. 显示二值图像

3.1双精度灰度图像

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

运行结果:
matlab简单处理图像_第2张图片

3.2 8位的灰度图像

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

matlab简单处理图像_第3张图片

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 ;

matlab简单处理图像_第4张图片

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

matlab简单处理图像_第5张图片

5.保存图像

代码如下(示例):

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

6.数字图像读取

imfinfo('girl.jpg')

matlab简单处理图像_第6张图片

7.图像的灰度直方图

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

matlab简单处理图像_第7张图片

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('对比度增强后');

matlab简单处理图像_第8张图片

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('加乘性噪声')

matlab简单处理图像_第9张图片

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('旋转后的图像');

matlab简单处理图像_第10张图片

12.傅里叶变换

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

matlab简单处理图像_第11张图片
matlab简单处理图像_第12张图片

你可能感兴趣的:(Matlab编程,matlab)