How to find regions of any image using active contour

1 回表示 (過去 30 日間)
komal kella
komal kella 2017 年 5 月 28 日
編集済み: MathReallyWorks 2017 年 5 月 28 日
I = imread('toyobjects.png'); imshow(I) hold on title('Original Image'); mask = false(size(I)); mask(50:150,40:170) = true; contour(mask,'Color','b'); w = activecontour(I, mask, 200, 'edge'); contour(bw,'Color','r'); title('Initial contour (blue) and final contour (red)');

採用された回答

MathReallyWorks
MathReallyWorks 2017 年 5 月 28 日
編集済み: MathReallyWorks 2017 年 5 月 28 日
Hello Komal,
Please make your code readable. And you forgot to attach your image as well.
For detecting regions in an image, you can use this method as well:
clc;
close all;
grayImage = imread('random.png');
[rows, columns, numberOfColorBands] = size(grayImage);
if numberOfColorBands > 1
grayImage = grayImage(:, :, 2);
end
subplot(2, 1, 1);
imshow(grayImage, []);
title('Original Grayscale Image');
binaryImage = grayImage > 128;
binaryImage = imclearborder(binaryImage);
binaryImage = bwareaopen(binaryImage, 1000);
subplot(2, 1, 2);
imshow(binaryImage, []);
title('Binary Image');
It works pretty well and is able to detect all type of regions.
I have attached my image as well. Use that for proper understanding.
Result:

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by