Я пытаюсь вычислить площадь общей площади рассеянных квадратов, как изображение ниже.Площадь Площадь Плоских Квадратов
Я знаю, что есть функция, с помощью которой мы могли бы оценить размер области, сделав всеобъемлющую выпуклую, но я не уверен, могу ли я использовать какой-либо подобный метод для решения этой проблемы.
Есть ли у кого-то есть хорошая идея?
Edit [01/01/2016]: Код я попытался, как это. Он работает, но каждый раз он должен сохранять и загружать изображение .png. Я хотел спросить, можно ли вычислить размер без процесса сохранения изображений.
clear
b=zeros(127,2); %matrix
for i=1:127
rnd=randn(1,2);
b(i,:)=30.*rnd;
end
BW=scatter(b(:,1),b(:,2),15,[],'r','s','filled');
view(2) %view from Z+
axis off
saveas(gcf,'scatter.png')
close all
BWbase = imread('scatter.png'); %import
BW = im2bw(BWbase,0.5); %convert to binary data
imshow(BW);
bwarea(BW)
Вы уже пробовали какой-либо код? SO не является сервисом кодирования, и если вы покажете нам, что вы пробовали, люди с большей вероятностью помогут вам. –
Благодарим за совет. Я добавил примечание, чтобы прояснить суть. –
'BW = разброс (b (:, 1), b (:, 2), 15, [], 'r', 's', 'fill');' дает ошибку. Сначала попробуйте исправить свой код. – NKN