如何用matlab手动取出彩色图像的RGB值并保存? 请写出详细程序,急

 我来答
益飇004
推荐于2016-11-21 · TA获得超过3307个赞
知道大有可为答主
回答量:4641
采纳率:25%
帮助的人:2948万
展开全部
clear all,clc;
im=imread('1.jpg');%1.jpg为图片,在m文件所在目录下
s=size(im);
R=im(:,:,1);
G=im(:,:,2);
B=im(:,:,3);
R=reshape(R,[s(1),s(2)]);
G=reshape(G,[s(1),s(2)]);
B=reshape(B,[s(1),s(2)]);
r=mean(mean(R));%红色均值
g=mean(mean(G));%绿色均值
b=mean(mean(B));%蓝色均值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天上的一条龙
2011-06-24 · TA获得超过476个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:205万
展开全部
close all,clear all,clc;
im=imread('1.jpg');%1.jpg为图片,在m文件所在目录下
s=size(im);
R=im(:,:,1);
G=im(:,:,2);
B=im(:,:,3);
R=reshape(R,[s(1),s(2)]);
G=reshape(G,[s(1),s(2)]);
B=reshape(B,[s(1),s(2)]);

RGB值已经保存在矩阵R,G,B

由于不知道你的具体要求,只能先这样了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友77c7c4b
2011-06-23 · TA获得超过732个赞
知道小有建树答主
回答量:426
采纳率:0%
帮助的人:514万
展开全部
手动取出?什么意思
只有显示出RGB的值,值在图上。
clc,clear;
I=imread('lenargb.bmp');
I1=I(:,:,1);
I2=I(:,:,2);
I3=I(:,:,3);
[y,x,z]=size(I);
d1=zeros(y,x);
d2=d1;
myI=double(I);
I0=zeros(y,x);
for i=1:x
for j=1:y
d1(j,i)=sqrt((myI(j,i,1)-10)^2+(myI(j,i,2)-10)^2+(myI(j,i,3)-10)^2) ;
d2(j,i)=sqrt((myI(j,i,1)-180)^2+(myI(j,i,2)-180)^2+(myI(j,i,3)-180)^2) ;
if d1(j,i)>= d2(j,i)
I0(j,i)=1;
end
end
end
figure(1);
subplot(221);imshow(I); title('a 原始图像');
subplot(222);imshow(I1);title('b R分量');
subplot(223);imshow(I2);title('c G分量');
subplot(224);imshow(I3);title('d B分量');
figure(2);
先给你一半的程序,后一半的程序你要再加足够的分数才给你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式