Plotting the coordinates of maxima
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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:
![output.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/259903/output.jpeg)
4 Kommentare
Guillaume
am 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);
Antworten (1)
Image Analyst
am 6 Jan. 2020
Try imregionalmax() and find():
maxImage = imregionalmax(binaryImage);
[rows, columns] = find(maxImage);
5 Kommentare
Image Analyst
am 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
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!