彩色图像转变为灰度图像的matlab的程序代码是什么?

彩色图像转变为灰度图像的matlab的程序代码是什么?,第1张

RGB=imread('img.bmp','bmp')%读入彩色图片

figure(1),imshow(RGB),title('彩色图岁段')%显示彩色图片

I=rgb2gray(RGB)%彩色转化高并成灰度

figure(2),imshow(I),title('灰度戚雀迹图')%显示灰度图

clc

clear all

% 本程序主要用来没知计算根据灰色枯物消理论建立的模型的预测值。

% 应用的数学模型是 GM(1,1)。

% 原始数据的处理方法是一次累加法。

y=[1662.87 2163.4 蚂乱1965.35 2472.48 2900.66 3034.93 2755.5 3207 3462]%已知数据

n=length(y)

yy=ones(n,1)

yy(1)=y(1)

for i=2:n

yy(i)=yy(i-1)+y(i)

end

B=ones(n-1,2)

for i=1:(n-1)

B(i,1)=-(yy(i)+yy(i+1))/2

B(i,2)=1

end

BT=B'

for j=1:n-1

YN(j)=y(j+1)

end

YN=YN'

A=inv(BT*B)*BT*YN

a=A(1)

u=A(2)

t=u/a

t_test=4  %需要预测个数

i=1:t_test+n

yys(i+1)=(y(1)-t).*exp(-a.*i)+t

yys(1)=y(1)

for j=n+t_test:-1:2

ys(j)=yys(j)-yys(j-1)

end

x=1:n

xs=2:n+t_test

yn=ys(2:n+t_test)

plot(x,y,'^r',xs,yn,'*-b')

det=0

for i=2:n

det=det+abs(yn(i)-y(i))

end

det=det/(n-1)

disp(['百分绝对误差为:',num2str(det),'%'])

disp(['预测值为: ',num2str(ys(n+1:n+t_test))])

输出结果:

百分绝对误差为:228.3113%

预测值为: 3710.152      3978.2142      4265.6442      4573.8413

理,直接显示直方图,这样它统计的就是灰度值的出现次数。例如:

x=imread('D:\ebook\lena.bmp')

x=rgb2gray(x)

imhist(x)

>>[conters,x1]=imhist(x)%%conters是各个灰度值出现的次数,x1是各个灰度值

>>[conters1,x11]=max(imhist(x))%%寻找最大值

conters1 =

762

x11 =

153

conters1里面存的是各个灰度级的频数,x11里面是各个灰度级,如果把conters1和x11当做数组稿腊的话,那么x11数组中的序号1对应的灰度级就是0,2对应的灰度级就是1,所以只要找到conters1数组中你需要的百分之几*最大值的序号,直接减1后就是拆滑其灰度值

conters=imhist(x)%%该形式直接返回各个灰度级的频数

>>[m,n]=find(conters==0.5*762)%%找到你需要的频数旅敬腊,762为上面求的最大值

m =

107%%序号

n =

1

所以其0.5*762处对应的灰度值就是107-1=106


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12385544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存