Extracting pixels from an image random

8 ビュー (過去 30 日間)
andrei alex
andrei alex 2019 年 6 月 1 日
回答済み: Image Analyst 2019 年 6 月 1 日
Hello,
How can I extract 100 pixels color randomly from an image ?

採用された回答

Guillaume
Guillaume 2019 年 6 月 1 日
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 件のコメント
andrei alex
andrei alex 2019 年 6 月 1 日
Thank you .
And if I have 200 images and I want to extract 100 pixels for each?
Guillaume
Guillaume 2019 年 6 月 1 日
Wrap that in a loop over your 200 images.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2019 年 6 月 1 日
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)

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by