如何用matlab手动取出彩色图像的RGB值并保存? 请写出详细程序,急
展开全部
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));%蓝色均值
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));%蓝色均值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
东莞大凡
2024-08-07 广告
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进...
点击进入详情页
本回答由东莞大凡提供
展开全部
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
由于不知道你的具体要求,只能先这样了...
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
由于不知道你的具体要求,只能先这样了...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
手动取出?什么意思
只有显示出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);
先给你一半的程序,后一半的程序你要再加足够的分数才给你。
只有显示出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);
先给你一半的程序,后一半的程序你要再加足够的分数才给你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |