Побитовый цветной фильтр в MATLAB
Есть ли функция MATLAB, которая делает следующее:
Для ввода изображения он говорит мне, какая доля битов темнее, чем определенный цвет по моему выбору.
Поэтому, если бы я ввел изображение шахматной доски и использовал серый цвет, результат был бы примерно наполовину. (хотя изображение, которое мне нужно обработать, не так просто)
1 ответ
Решение
function CompareMap = BitWiseCompare('filename',c) % c = [R , G , B];
A = imread('filename');
CompareMap = zeros([size(A,1),size(A,2)]);
CompareMap = (A(:,:,1) < c(1)).*(A(:,:,2) < c(2)).*(A(:,:,3) < c(3));
end
например,
с CompareMap = BitWiseCompare('filename',[220 100 120]);
дает,
а также CompareMap = BitWiseCompare('filename',[220 130 150]);