赞
踩
掌握图像的读取、显示、代数运算和简单变换操作。
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');

运行结果:
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分量');

运行结果
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('除法');

运行结果
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('旋转后');

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('变暗图像');
运行结果
有什么错误的或者有什么建议可以私聊我,或者评论,一起学习,一起进步 加油!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。