Detecting multiple object in an image
Show older comments
Hello,
I am working on a project where I have to detect photovoltaic modules using infrared images.
I am using a template image to detect the modules but I can only detect one. What should I do to detect all the modules?
I do not have a lot of experience in programming but I am really trying.
4 Comments
Image Analyst
on 1 Apr 2019
How are you detecting the one? Are you thresholding and calling bwlabel() to do the counting? Attach your image and your "single detection" code.
Felipe Souza
on 1 Apr 2019
Edited: Felipe Souza
on 1 Apr 2019
Felipe Souza
on 1 Apr 2019
Edited: Felipe Souza
on 1 Apr 2019
Felipe Souza
on 1 Apr 2019
Answers (1)
Shunichi Kusano
on 2 Apr 2019
0 votes
You select only one of highly correlated pixels, because you find the maximum correlation by "find(R==(max(max(R))))". In order to detect some of them, you need to select peaks. For that, the following link is useful.
By the way, you can use max(R(:)) instead of max(max(R)). In addition, j = j + 1 in the for loop is not needed here. In the for loop, the value of j is automatically incremented according to what you indicated as 1:max(label(:)).
1 Comment
Felipe Souza
on 2 Apr 2019
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
