失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 数字图像处理 matlab 基本操作 实验一的部分内容

数字图像处理 matlab 基本操作 实验一的部分内容

时间:2021-06-28 22:01:39

相关推荐

数字图像处理 matlab 基本操作 实验一的部分内容

数字图像处理的相关基本操作

操作

1. 导入图像

I = imread('football.jpg'); % 用imread读取磁盘文件/该文件软件自带

2. 显示图像并设置标题

imshow(I);title('橄榄球');

结果:

3. 将彩色图像转为灰度图像

J= rgb2gray(I);

4. 计算并显示灰度图像J的灰度直方图

imhist(J);

5. 求图像J的均值

Ave = mean2(J);

6. 求图像J的标准差

SD = std2(double(J))

7. 求大小

s = size(J);

8. 获得反白图像K

all_white = 255*ones(s(1),s(2)); % 设置全部为白色灰度255all_white_uint8 = uint8(all_white); % 将double类型矩阵转化为uint8类型矩阵K = imsubtract(all_white_uint8,J); % 图像相减得反白图像K

9. 将反白后的图像存入文件

imwrite(K,'aa2.jpg'); % 将反白图像存入文件 /文件名为'aa2.jpg'

这里我们写一个方法,可以计算所有的值,并且可以显示所有的图像

% 用来计算,返回(均值Ave,标准差SD,大小s,反白图像K),J为一个灰度图像function [Ave,SD,s,K] = xx(J)subplot(2,2,2);imshow(J);title('有噪图像J1');subplot(2,2,3);imhist(J);title('灰度直方图');Ave = mean2(J); % 图像均值fprintf('均值为%c\n',Ave);SD = std2(double(J)); % 图像均值fprintf('均值为%c\n',SD);s = size(J);fprintf('图像大小为');disp(s);all_white = 255*ones(s(1),s(2)); % 设置全部为白色灰度255all_white_uint8 = uint8(all_white); % uint8类型矩阵K = imsubtract(all_white_uint8,J); % 图像相减得反白图像Ksubplot(2,2,4);imshow(K);title('反白图像K');end

主函数:

I = imread('football.jpg'); % 用imread读取磁盘文件subplot(2,2,1);imshow(I);title('橄榄球');J= rgb2gray(I);[Ave,SD,s,K]=xx(J);imwrite(K,'aa2.jpg'); % 将反白图像存入文件

显示结果:

输出结果:

均值为7.445164e+01均值为3.712365e+01图像大小为 256 320

一些函数的基本使用

1. 读入图像的二维相关系数(corr2)

% 对图像J加均值为0,方差为0.01的高斯白噪音形成有噪声的图像J1J1 = imnoise(J,'gaussian',0,0.01); % M = corr2(J,J1);disp(M);

输出结果:

>> test0.8245

2. 像素的颜色值(impixel)

P=impixel(I); % 展示图像,点击选择坐标,点击enter,返回一个三维数组disp(P);

显示图像:

输出结果:

>> test252 250 25324 34 43127 77 80123 53 55126 65 64

3. 像素的平均值(mean2)

P2 = mean2(I); % 求像素的平均值disp(P2)

输出结果:

>> test77.5170

4. 显示像素的信息(impixelinfo)

imshow(I);title('橄榄球')ds = impixelinfo; % 展示图像信息(必须先展示图像)disp(ds);

图像显示:

输出结果:

>> testPanel (pixelinfo panel) - 属性:Title: ''BackgroundColor: [0.9400 0.9400 0.9400]Position: [1 1 263.2000 20]Units: 'pixels'显示 所有属性

5. 像素的标准偏移(std2)

st = std2(I); % 像素的标准偏移disp(st)

输出结果:

>> test44.2094

6. 改变图像的尺寸(imresize)

为了方便理解,这里我们输出一下大小

% I2 = imresize(I,2); % 放大二倍I2 = imresize(I,0.2); % 缩小二倍imshow(I2);title('我缩小了'); % disp(size(I));disp(size(I2)); % 已经改变了

图像显示:

输出结果:

>> test256 320352 643

7. 旋转图像(imrotate)

dr = imrotate(I,45); % 参数(图像,角度)imshow(dr);title('旋转图像');

图像显示:

8. 对图像进行裁剪(imcrop)

% 参数:(图像,[左上角横坐标,左上角纵坐标,水平大小,竖直大小])dc = imcrop(I,[6,6,100,100]); imshow(dc);title('裁剪了');

显示图像:

创作不易,请大家多多关注!!!(up:惊呼~ 尖叫~)

如有错误,请告知up,将于下一篇进行更正

如果觉得《数字图像处理 matlab 基本操作 实验一的部分内容》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。