как предварительно оценить яркий канал для цветного изображения (преобразовать изображение пространственной области в область яркости) по следующей формуле: введите здесь описание изображения Кто-нибудь знает, как это сделать в Matlab??
как оценить яркий канал для цветного изображения в Matlab?
Ответы (2)
Нужно знать больше о том, что такое Omega(x), но я предполагаю, что это локальное окно. Код, подобный приведенному ниже, является началом (замените 1:2 и 4:6 своим окном):
[bright, bright_channel_idx] = max( image(1:2,4:6,:), [], 3 ); % take the max along the 3rd dimension, color
person
Suhas C
schedule
12.03.2019
это форма оценки яркого канала. где Ic — цветовой канал I, а Ω(x) — локальное пятно с центром в точке x. y — пиксель локального пути Ω(x). яркий канал является результатом двух максимальных операторов. Оператор max c∈{r,g,b}» выполняется над каждым пикселем для трех каналов. Оператор «max y∈Ω(x)» является максимальным фильтром. размер локального патча для обеих операций был установлен как 15 × 15. Итак, я спросил, как это сделать в Matlab?
- person Ghada Sandoub; 12.03.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
person
Suhas C
schedule
13.03.2019