How to mark specific points in a boundary?
Mostra commenti meno recenti
I used this code to mark boundary of my image.Now I want to detect specific points such as most concave point in a specific region of the boundary and most convex point.I have given the image that i detect the boundary and i manually detect the points using blue arrows that i want to mark automatically.Can you please suggest a method for this?

I = imread('055.bmp');
figure()
imshow(I);colormap gray
title('Original Image','fontsize',14);
img2 = imnoise(I,'salt & pepper',0.025);
I1 = img2;
for c = 1 : 3
I1(:, :, c) = medfilt2(img2(:, :, c), [5, 5]);%add median filter
end
x =rgb2gray(I1);
I2 = x < 60;
%I2 = im2bw(I1);
figure()
imshow(I2);colormap gray
title('Median Filtererd','fontsize',14)
dim = size(I2);
col = round(dim(2)/2)-90;
row = find(I2(:,col), 1 );
boundary = bwtraceboundary(I2,[row, col],'N');
%----Display original grayscale image and use coordinates returned by bwtraceboundary to plot the border on the image.
imshow(I);
hold on;
plot(boundary(:,2),boundary(:,1),'r','LineWidth',1);
BW_filled = imfill(I2,'holes');
boundaries = bwboundaries(BW_filled);
%------Plot the borders of the original grayscale image using the coordinates returned by bwboundaries-----------
for k=1:10
b = boundaries{k};
plot(b(:,2),b(:,1),'r','LineWidth',1);
end
Risposte (2)
Image Analyst
il 20 Ott 2018
2 voti
Try adapting this File Exchange code: https://www.mathworks.com/matlabcentral/fileexchange/32696-2d-line-curvature-and-normals

1 Commento
Nayana R
il 20 Ott 2018
Jai Sri
il 6 Mar 2020
0 voti
How to mark boundary of gray scale image in original color image?
1 Commento
Image Analyst
il 7 Mar 2020
This does not look like an answer to Nayana's question. If you have a question, post a new question and post both your gray scale image and your original color image.
Categorie
Scopri di più su Images in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!