たとえば、RGB 画像rgb
と空間座標のリストがあるとしますcoords
。[x1 y1]
、[x2 y2]
、などの空間座標でピクセル値を抽出したいと思います[x3 y3]
。RGB 画像の場合、次を使用してこれを行うことができます。
rgb = imread('sample.jpg')
coords = [x1 y1; x2 y2; x3 y3];
pixelData = impixel(rgb, coords(:,1), coords(:,2));
指定された画像ピクセルの赤、緑、青の色の値を返します。
impixel
カラー (RGB) 画像でのみ機能します。しかし、グレースケール画像からピクセル値を抽出したいと考えていますI
。for
次のようにループを使用してそうすることができます
for i = 1:size(coords,1)
pixelData(i,:) = I(coords(i,2), coords(i,1));
end
for
ループの使用は避けたいと思います。これを達成する別の方法はありますか?
imstats = regionprops(mask, I,'PixelValues');
も機能しますが、mask
最初に画像が必要です。