数字图像处理 关于matlab的图像处理操作

1、目的

掌握图像的读取、显示、代数运算和简单变换操作。

2、任务和要求 and 代码

1、使用某种图像采集设备(扫描仪、数码相机、手机等)采集一张数字图像输入,并用分别用指定的图像文件格式bmp、png和jpg存储,并输出图像的大小。

%获取图像的信息
I = imread('gou.jpg');
 
%改变图像格式(png)
RGB = imread('gou.jpg','jpg');
imwrite(RGB ,'goua.png','png');
tupian=imread('goua.png');
 
%改变图像格式(bmp)
RGB = imread('gou.jpg','jpg');
imwrite(RGB ,'goub.bmp','bmp');
tupian1=imread('goub.bmp');
 
figure;
subplot(1,3,1),subimage(I);
title('jpg');
subplot(1,3,2),subimage(tupian);
title('png');
subplot(1,3,3),subimage(tupian1);
title('bmp');

 运行结果:

数字图像处理 关于matlab的图像处理操作_第1张图片

 

2、读入一幅RGB图像,分别显示其R、G、B分量,再将该RGB彩色图像变换为灰度图像和二值图像,并在同一个窗口内分成六个子窗口来分别显示RGB图像和灰度图像、二值图像,R、G、B分量图像,注上文字标题。

%灰度图像
data = imread('gou.jpg');
m = rgb2gray(data);
%二值图像
n = graythresh(data);     
y = im2bw(data, n);
 
%R、G、B分量
image = imread('gou.jpg');
imager = image(:,:,1);
imageg = image(:,:,2);
imageb = image(:,:,3);
 
figure;
subplot(2,3,1),subimage(image);
title('RGB');
subplot(2,3,2),subimage(m);
title('灰度图像');
subplot(2,3,3),subimage(y);
title('二值图像');
subplot(2,3,4),subimage(imager);
title('R分量');
subplot(2,3,5),subimage(imageg);
title('G分量');
subplot(2,3,6),subimage(imageb );
title('B分量');

运行结果

数字图像处理 关于matlab的图像处理操作_第2张图片 

 

3、对两幅相关图像执行加、减、乘、除操作,在同一个窗口内分成六个子窗口来分别显示,注上文字标题。

%改变图像格式(png)
RGB = imread('12楼.jpg','jpg');
imwrite(RGB ,'12楼1.png','png');
tupian1=imread('12楼1.png');
%改变图像格式(png)
RGB = imread('花.jpg','jpg');
imwrite(RGB ,'花1.tif','tif');
tupian2=imread('花1.tif');
% 加法
K1 = imadd(tupian1, tupian2); 
%减法
K2 = imsubtract(tupian1, tupian2); 
%乘法
K3 = immultiply(tupian1, tupian2); 
%除法
K4 = imdivide(tupian1, tupian2);
 
figure;
subplot(3,2,1),subimage(tupian1);
title('图1');
subplot(3,2,2),subimage(tupian2);
title('图2');
subplot(3,2,3),subimage(K1);
title('加法');
subplot(3,2,4),subimage(K2);
title('减法');
subplot(3,2,5),subimage(K3);
title('乘法');
subplot(3,2,6),subimage(K4 );
title('除法');

运行结果

数字图像处理 关于matlab的图像处理操作_第3张图片 

 

4、对一幅图像进行平移、缩放、旋转,显示结果。

I = imread('gou.jpg');
%平移
se = translate(strel(1), [100 100]); 
O = imdilate(I,se);                 
%  缩放
P = imresize(I, 15);                   
%  旋转
Q= imrotate(I,90);
 
figure;
subplot(2,2,1),subimage(I);
title('原图');
subplot(2,2,2),subimage(O);
title('平移后');
subplot(2,2,3),subimage(P);
title('缩放后');
subplot(2,2,4),subimage(Q);
title('旋转后');

数字图像处理 关于matlab的图像处理操作_第4张图片 

 

5、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图。

%灰度图像
i=imread('gou.jpg');
i=rgb2gray(i);
%图像变暗
o=imadjust(i,[ ],[0;0.5]);
subplot(2,2,1),subimage(i);
title('图像a');
subplot(2,2,2),subimage(o);
title('图像b');
subplot(2,2,3),imhist(i);
title('原图像');
subplot(2,2,4),imhist(o);
title('变暗图像');

运行结果

数字图像处理 关于matlab的图像处理操作_第5张图片

有什么错误的或者有什么建议可以私聊我,或者评论,一起学习,一起进步 加油!!! 

 

你可能感兴趣的:(数字图像处理,matlab,图像处理)