我在处理三维图像,请问我如何用matlab读取所有像素的灰度值和坐标值呢?O(∩_∩)O谢谢

如题所述

a=imread('图片位置.jpg');图片为RGB图片
R=a(:,:,1);红色分量
G=a(:,:,2);绿色分量
B=a(:,:,3);蓝色分量
图像是以矩阵的形式出现,所以其行数和列数就是其坐标值。假如R(29,65)中的29是横坐标,65是纵坐标。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
如果读取灰度值,直接将RGB图像转化为灰度图像
a=imread('图片位置.jpg');图片为RGB图片
b=rgb2gray(a);
b中的数据就是图像的灰度值,坐标值和上面所说的一样。追问

非常感谢,不过我是刚刚学matlab,比较愚笨,想问我处理的是灰度图像,怎么办呢?另外三维坐标也可以求出吗?谢谢。

追答

灰度图像读入后,a矩阵里的值就是灰度值。RGB图片有三个分量,假设三个分量的值为255 255 255,那么合成后就是白色。它没有什么三维坐标。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-08
你说的3D图像是指RGB彩色图像么,讲白的话很简单的。R通道,I(:,:,1),G通道I(:,:,2),B通道(:,:,3);也就是把这个3D矩阵分解成3个2D矩阵,每个矩阵的上点的值就是每个像素的像素值了,其位置就是坐标咯