Extracting pixels from an image random

9 Ansichten (letzte 30 Tage)
andrei alex
andrei alex am 1 Jun. 2019
Beantwortet: Image Analyst am 1 Jun. 2019
Hello,
How can I extract 100 pixels color randomly from an image ?

Akzeptierte Antwort

Guillaume
Guillaume am 1 Jun. 2019
One way:
row = randi(size(yourimage, 1), 100, 1); %select 100 row coordinates at random
col = randi(size(yourimage, 1), 100, 1); %and 100 columns to go with it
rgb = yourimage(sub2ind(size(yourimage), repmat(row, 1, 3), repmat(col, 1, 3), repmat(1:3, 100, 1)));
%for pretty display
table(row, col, rgb)
  2 Kommentare
andrei alex
andrei alex am 1 Jun. 2019
Thank you .
And if I have 200 images and I want to extract 100 pixels for each?
Guillaume
Guillaume am 1 Jun. 2019
Wrap that in a loop over your 200 images.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 1 Jun. 2019
Here is another way:
% Load standard demo RGB image:
rgbImage = imread('peppers.png');
% Extract the individual red, green, and blue color channels:
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
% Get 100 random locations:
locations = randperm(numel(redChannel), 100)
% Get R, G, and B values at those locations:
redValues = redChannel(locations)
greenValues = greenChannel(locations)
blueValues = blueChannel(locations)

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by