Locate rectangles in an image and segment

5 vues (au cours des 30 derniers jours)
Andrew Roberts
Andrew Roberts le 21 Juin 2019
Commenté : Andrew Roberts le 24 Juin 2019
I'm trying to create a program that identifies all the cells on a solar panel and creates an image of each indivudal cell. An example image:
untitled.jpg
The cells are regularly shaped and spaced, and all images are uniform in size and magnification, but the panels are not located or oriented uniformly, so hardcoding the segmentation is not an option. I was thinking I could find an edge, rotate the image, then hardcode a grid to segment the image. So far, I have had difficulty locating the (near) vertical lines in the image, and houghlines tends to place lines on the fainter busbar lines before placing lines over the clearer lines separating each row of cells, or around the edge of the panel, seen here:
I've tried lowering the threshold in houghpeaks, with the following results:
Any help would be appreciated.
  1 commentaire
KALYAN ACHARJYA
KALYAN ACHARJYA le 21 Juin 2019
@Andrew tommorrow I will try, its time to sleep Good Night.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 21 Juin 2019
Modifié(e) : Matt J le 21 Juin 2019
This seems to emphasize the vertical lines well enough. houghlines shouldn't have too much difficulty with this,
load image
B=edge( medfilt2(A,[7,1]) );
B=bwareafilt(B,[100,inf]);
B=imclose(B,ones(7,3));
imshow(B)
Capture.PNG
  2 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 22 Juin 2019
@Matt Nice one.
Andrew Roberts
Andrew Roberts le 24 Juin 2019
Thank you, Matt. This should clear things up

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by