Как оценить яркий канал для цветного изображения в Matlab? - PullRequest
0 голосов
/ 11 марта 2019

, как оценить приоритет яркого канала для цветного изображения (преобразовать изображение пространственной области в область яркости), используя следующую формулу: введите описание изображения здесь Кто-нибудь знает, как это сделать в Matlab ??

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Вот блок кода, с которого можно начать. Вы можете использовать два цикла for для перехода по строкам (r) и столбцам (c). Должны быть более быстрые способы сделать это, но этого достаточно, чтобы вы начали. Еще один совет: будьте осторожны, когда цикл for подходит к концу строк и / или столбцов.

      block_r = img( r:r+kernel_h, c:c+kernel_w, 1 ); % get a region
      block_g = img( r:r+kernel_h, c:c+kernel_w, 2 );
      block_b = img( r:r+kernel_h, c:c+kernel_w, 3 );

      max_r = max( block_r(:) ); % max within each region
      max_g = max( block_g(:) );
      max_b = max( block_b(:) );

      bright_img(r,c) = max( [max_r,max_g,max_b] ); % max across all channels
0 голосов
/ 12 марта 2019

Нужно знать больше о том, что такое Омега (х), но я предполагаю, что это локальное окно. Код, подобный приведенному ниже, является началом (замените 1: 2 и 4: 6 окном):

[bright, bright_channel_idx] = max( image(1:2,4:6,:), [], 3 ); % take the max along the 3rd dimension, color

...