大家好!我想用matlab批量读取tif影像的DN值,然后将其值乘0.1,该怎么实 30
大家好!我想用matlab批量读取tif影像的DN值,然后将其值乘0.1,该怎么实现啊?matlab小白,请大伙支个招,谢谢...
大家好!我想用matlab批量读取tif影像的DN值,然后将其值乘0.1,该怎么实现啊?matlab小白,请大伙支个招,谢谢
展开
1个回答
2016-12-28
展开全部
clear all;I = imread('1.jpg'); I=rgb2gray(I); %灰度化 %绘制直方图 [m,n]=size(I); GP=zeros(1,256);for k=0:255 GP(k+1)=length(find(I==k))/(m*n); %计算每级灰度出现的概率,将其存入GP end %三,直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率 end figure;subplot(221);bar(0:255,GP,'b'); title('原图像直方图') subplot(222);bar(0:255,GPeq,'b') title('均衡化后的直方图') X=I;for i=0:255 X(find(I==i)) = S2(i+1);endsubplot(223);imshow(I);title('原图像') ;subplot(224);imshow(X);title('直方图均衡后的图像');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询