600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 使用MATLAB进行图像处理——显示图像的灰度直方图并进行对比度增强

使用MATLAB进行图像处理——显示图像的灰度直方图并进行对比度增强

时间:2019-03-24 02:59:19

相关推荐

使用MATLAB进行图像处理——显示图像的灰度直方图并进行对比度增强

目的:

1、读出rice.png文件,观察图像数据,并尝试修改图像数据矩阵的值,再将图像显示出来,观察图像颜色变换;

2、显示rice.png图像的灰度直方图,对其做对比度增强处理即调整其灰度值,显示调整后的灰度直方图;

原图:

(rice.png文件)

代码:

close all;

clear;

clc;

image=imread('rice.png'); %读取与代码同一文件下的rice.png文件,或换成绝对路径

figure(1);

subplot(1,2,1);

imshow(image); %显示rice.png图像

title('rice.png原图');

image_data=imfinfo('rice.png'); %读取rice.png图像信息,在工作区image_data中查看

image_1=imread('rice.png');

for i=123:178

for k=23:78

image_1(i,k)=256; %修改123行23—78列到178行23—78列图像数据矩阵的值为256【注1】

end

end

figure(1);

subplot(1,2,2);

imshow(image_1); %显示修改图像数据矩阵后的图像

title('修改图像数据矩阵的部分值');

figure(2);

subplot(1,2,1);

imhist(image); %显示rice.png的灰度直方图

title('rice.png的灰度直方图');

xlabel('灰度值');

ylabel('像素的概率密度');

imageCE=imadjust(image,[0.20,0.70],[]);%对原图rice.png进行对比度增强处理【注2】

figure(2);

subplot(1,2,2);

imhist(imageCE); %显示对比度增强后图像的灰度直方图

title('rice.png对比度增强后的灰度直方图');

xlabel('灰度值');

ylabel('像素的概率密度');

figure(3);

subplot(1,2,1);

imshow(image); %显示原图

title('原图');

subplot(1,2,2);

imshow(imageCE); %显示对比度增强后的图片

title('对比度增强');

【注1】:灰度值从0—256颜色由黑变白由深入浅;

【注2】:imadjust函数:

语法格式:J=imadjust(I,[low_in,hige_in],[low_out,high_out]);

代码中选择[0.20,0.70]原因:

由原图rice.png的灰度直方图得,像素的灰度值主要集中在[50,180]之间(灰度值为[1,256]),将其调整(换算)到[0,1]之间,灰度值主要集中在[0.20,0.70]之间;

imadjust(image,[0.20,0.70],[])中“[]”表示对全局起作用;

运行结果:

(原图的灰度直方图显示图像未能有效利用,对比度增强后的灰度直方图显示图像量化恰当,对原始图像的灰度直方图进行了拉伸,覆盖了全部灰度范围)

(图像信息)

结:

matlab进行图像处理的新手,会继续分享自己做过的图像处理的实验,未来也希望自己可以在图像处理这个方向进行深造,请各位大佬多多指点,也希望可以跟各位matlab图像处理的新手一起学习共同进步!!!

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