たとえば、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最初に画像が必要です。