В основном то, что я пытаюсь создать, - это гистограмма изображения с различной интенсивностью оттенков серого, показывающая мне область связанных компонентов на изображении.
Позвольте мне объяснить дальше, я планирую найти области всех связанных компонентов изображения при различных пороговых уровнях. Затем объедините их все графическим способом и покажите их в зависимости от уровня интенсивности изображения в градациях серого, то есть 0 - 255
.
Надеюсь, мой код объяснит, что я пытаюсь сделать.
img = rgb2gray(imread('W1\Writer1_01_02.jpg'));
for k = 1:-0.01:0.1
bw_normal = im2bw(img, k);
bw = imcomplement(bw_normal);
[label,n] = bwlabel(bw);
stats = regionprops(label,img, {'Area', 'Centroid'});
plot([stats.Area],k,'o');
axis([0 1000 0.1 1])
hold on;
end
Как вы можете сказать, я использовал цикл for для получения переменного порогового уровня, вычисления площадей CC и построения их графика относительно выбранного порогового уровня. Вот что он производит:
это не то, что я хочу. Я пытаюсь воспроизвести этот результат. Это не обязательно должно выглядеть точно так, но что-нибудь похожее подойдет.
Затем я обнаружил, что могу найти свойства CC из изображения в градациях серого напрямую, используя STATS = regionprops(..., I, properties)
Итак, я написал это:
img = rgb2gray(imread('W1\Writer1_01_02.jpg'));
for k = 1:-0.01:0.1
bw_normal = im2bw(img, k);
bw = imcomplement(bw_normal);
[label,n] = bwlabel(bw);
stats = regionprops(label,img, {'Area', 'Centroid'});
% plot([stats.Area],k,'o');
% axis([0 1000 0.1 1])
imshow(img);
hold on;
for j = 1:numel(stats)
text(stats(j).Centroid(1),stats(j).Centroid(2), ...
sprintf('%2.1f', stats(j).Area), ...
'EdgeColor','b','Color','r');
end
end
Это привело к следующему:
Итак, теперь я нашел области связанных компонентов в оттенках серого. Как мне построить их так, чтобы они отображались как желаемый результат (синий, который я показал выше)?
Спасибо за чтение
Area
и построить из них гистограмму (используя согласованные значения ячеек). Каждая строка на этой карте ширины будет гистограммой для отдельного порогового уровня. - person nkjt   schedule 13.02.2014