clear all,clc;
im=imread('1jpg');%1jpg为,在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));%蓝色均值
file_path = 'c:\a\';
img_path_list = dir(strcat(file_path,'jpg'));
img_num = length(img_path_list);
if img_num > 0
for j = 1:img_num
image_name = img_path_list(j)name;
I = imread(strcat(file_path,image_name));
r = I(:,:,1)==255;
g = I(:,:,2)==255;
b = I(:,:,3)==255;
L = r & g & b;
value{j} = sum(L(:));
end
end
1、启动MATLAB,新建脚本(Ctrl+N),输入如下代码。
2、保存和运行上述脚本,读取并显示的猫眼星云照片如下。
3、接着输入如下代码:该代码通过mean( )改变猫眼星云照片的数据值和colormap( )改变着色。
4、、保存和运行上述脚本,得到改变着色的猫眼星云如下。
5、colormap( )的选项有Jet,HSV,Hot,Cool,Spring,Summer,Autumn,Winter,Gray,Bone,Copper,Pink,Lines等,可以在命令行窗口(Command Window)输入doc colormap查看帮助文档对colormap的介绍。
有两种方法。
第一是,假设这是一张rgb的图,你用a=imread('ajpg','jpg')打开,并用imshow(a)或者Image(a)打开,可以利用figure窗口中的取点工具获得每一种颜色的rgb值,在纸上记下来。然后建立一个与a同大小的矩阵m,对矩阵a进行搜索,其中a(i,j,1),a(i,j,2),a(i,j,3)分别对应某个像素点的rgb值,利用上面记下的数据,如当为(255,20,13)时,对应的数字为5,就可以设置m(i,j)=5。利用这个方法就可以得到对应每一点的矩阵了。
第二个,先利用rgb2gray(),将其转换为灰度图,因为这样每个点只对应一个灰度数据而已。然后利用a(i,j),即(i,j)对应的灰度来区分不同的颜色,也可得到相应的矩阵。
如果你是指rgb颜色层的话 use football as an example
I=imread('footballjpg');
color=I;
R=(:,:1);
G=(:,:,2);
B=(:,:,3);
然后你就得到了分别这三个颜色层的信息,这时候你可以根据你的要求做后续的工作。
matlab中可以调用所有存在的颜色。解决方法如下:
1、首先在matlab中创建了一个自定义函数test_data,并将test_data函数放在当前文件夹,如下图所示。
2、在命令行窗口中输入test_data(3)进行调用函数,返回结果9。
3、在命令行窗口中调用函数,需要注意的是调用函数要在当前文件夹中,就是要在自定义函数test_data的路径文件夹下,不然会出现找不到的情况。
4、也可以创建m脚本文件来调用自定义函数,在m脚本文件输入“t=test_data(3);disp(t);。
5、最后运行脚本文件之后,可以在命令行得出结果9。
以上就是关于用matlab进行图片某点的rgb值读取,该用什么函数读值啊全部的内容,包括:用matlab进行图片某点的rgb值读取,该用什么函数读值啊、matlab读取文件夹下jpg图片并计算每个图片白色像素点数量、MATLAB读取彩色图像的RGB值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)