Plotting the coordinates of maxima
2 views (last 30 days)
Show older comments
I want to get all the coordinates of the area where maxima is detected i.e. the blob detected area as a separate binary image.The maxima coordinates should be white and other pixels must be black. So im creating an array 'a' in the size of 1655x1655. While execution, in the output image the points are not spreaded entirely for 1655x1655. They are seen only on left top corner of the entire zero array. Im not sure whether all the values of maxima are getting plotted or is there some other issue. How to solve this issue? Pls help me with this. The code and input image is provided in the attached file.
Output image:
4 Comments
Guillaume
on 6 Jan 2020
Missing from your code is any comment explaining what it attempts to do. In particular, what is the puprose of each loop?
Note that:
k=1.28;
sigma=2;
logScales=zeros(1,15);
for i=1 : 15
logScales(1,i)= sigma;
sigma=k*sigma;
end
is simply:
k = 1.28;
sigma = 2;
logScales = sigma * k.^(0:14);
Answers (1)
Image Analyst
on 6 Jan 2020
Try imregionalmax() and find():
maxImage = imregionalmax(binaryImage);
[rows, columns] = find(maxImage);
5 Comments
Image Analyst
on 7 Jan 2020
You have not defined what maxima is. imregionalmax() will give a 1 where a pixel is the highest value in a local window. For your RGB image of characters in rock, it's not clear that the characters are the brightest pixels.
As far as segmenting the characters carved in rock, I think there are probably papers on that. Check here VisionBib
See Also
Categories
Find more on Red in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!