Image Matlab-如何获得像素值?

Image Matlab-如何获得像素值?,image,matlab,pixel,Image,Matlab,Pixel,如果我有一幅图像,如何使用matlab 谢谢。图像是MATLAB中的矩阵(2D如果灰度,3D如果彩色) 您可以使用x(i,j)访问灰度图像中(i,j)位置的像素 如果图像是彩色的,则可以使用x(i,j,:)分别访问3向量中的r,g,b值。如果您需要单独的通道,那么您可以使用x(i,j,1)来表示红色 您可以阅读以了解更多信息。您可以使用重塑将图像的所有像素值提取到具有像素值的向量中: frame = imread('picture.jpg'); frame_size = size(frame);

如果我有一幅图像,如何使用
matlab

谢谢。

图像是MATLAB中的矩阵(2D如果灰度,3D如果彩色)

您可以使用
x(i,j)
访问灰度图像中
(i,j)
位置的像素

如果图像是彩色的,则可以使用
x(i,j,:)
分别访问3向量中的r,g,b值。如果您需要单独的通道,那么您可以使用
x(i,j,1)
来表示红色


您可以阅读以了解更多信息。

您可以使用
重塑
将图像的所有像素值提取到具有像素值的向量中:

frame = imread('picture.jpg');
frame_size = size(frame);
allpixels = reshape(frame, frame_size(1)*frame_size(2), frame_size(3))
当您想要对Matlab代码进行矢量化时,这可能非常有用(以避免通过每个像素的
for
循环)。要恢复原始图像表示,请执行以下操作:

frame2 = reshape(allpixels, frame_size);

要获得
像素(1,1)
处的值,我们只需编写
图像(1,1)

,感谢您的回复。如何检索图像索引?当我使用以下命令时:
p1=I(0,0),我得到:
???试图访问I(0,0);索引必须是正整数或逻辑。
索引从1开始,一直到维度的长度。这不像在C里。明白你的意思了。但是,难道没有更实用的方法来获取所有像素值而不逐个索引吗?特别是,正如您所知,有时您可能会有一个包含大量像素的图像,并且单独访问每个像素会非常耗时。你怎么认为?感谢切片操作员
。我有一位计算机视觉教授,他从来没有用Matlab教过我们一点代码。谢谢你们的这篇文章。如何将“查询”的坐标转换成像素?例如,我想知道像素(1,1)和(20,20)处的值。我该怎么写呢?