Matlab - 如何获得像素值?

时间:2012-12-19 15:49:34

标签: image matlab pixel

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

获取该图像中每个像素的值

感谢。

3 个答案:

答案 0 :(得分:10)

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

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

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

您可以阅读this page了解详情。

答案 1 :(得分:1)

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

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);

答案 2 :(得分:0)

要获取pixel(1,1)的值,我们只需编写image(1,1)