2013-08-06 6 views
0

Я пытаюсь читать входное изображение с использованием октавы и строить его значения RGB в виде 3-мерного сюжета.октава/gnuplot - интенсивность пикселей в пикселях RGB

Я читаю изображение с помощью

im = imread('image') 

Как я могу построить это?

Кроме того, возможно ли построить гистограмму всех трех слоев?

Благодаря

+0

В документе [Octave API doc] (http://www.gnu.org/software/octave/doc/interpreter/Loading-and-Saving-Images.html) ваша переменная ** im ** будет представлять собой MxNx3 когда вы загружаете цветное изображение, поэтому у вас уже должны быть ваши «данные изображения» в виде каналов RGB. Что именно вы хотите построить? – Sven

+0

Привет, Свен, я хотел бы либо построить свои RGB-каналы как 3D-сюжет. 1 канал на измерение. Или отдельные гистограммы на канал. – dopplesoldner

ответ

2

Как уже говорилось, Octave API doc дает вам набор данных MxNx3 матрицу вашего изображения.

Каналы R/G/B являются последними измерениями вашей матрицы im. истор нуждается 1d вход, так что мы должны изменить это:

hist(reshape(im(:,:,1),1,[])) # red 
hist(reshape(im(:,:,2),1,[])) # green 
hist(reshape(im(:,:,3),1,[])) # blue 

Об 3D сюжета: Вы имеете в виду 3D scatter plot? Тогда Octave's scatter3 может вам помочь.

+0

Поскольку это изображения, лучше использовать 'imhist', нет необходимости« переформатировать ». Но сложность состоит в том, что три гистограммы на этом же рисунке. – carandraug

Смежные вопросы