divide RGB color space into 16x16x16 bins

1 回表示 (過去 30 日間)
Elysi Cochin
Elysi Cochin 2018 年 1 月 3 日
回答済み: Guillaume 2018 年 1 月 3 日
How to divide RGB color space into 16x16x16 bins.
And then calculate the number of the bins, into which there are pixels to be divided
  1 件のコメント
KSSV
KSSV 2018 年 1 月 3 日
YOu must have a look on reshape, blockproc.

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

採用された回答

Guillaume
Guillaume 2018 年 1 月 3 日
Assuming your image is of type double (i.e: intensity range is 0-1), then:
bins = linspace(0, 1, 16); %if image is uint8, then linspace(0, 255, 16)
bincoords = discretize(rgbimage, bins);
bincoords(row, col, :) is a 3 element vector giving you the location of pixel(row, col) into that 16x16x16 histogram cube. If you want to change that into linear indices:
bincoordslinear = sub2ind([16 16 16], bincoords(:, :, 1), bincoords(:, :, 2), bincoords(:, :, 3));

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by