Find location of cross in image.

14 visualizzazioni (ultimi 30 giorni)
Hans Dohse
Hans Dohse il 23 Dic 2019
Risposto: Rajani Mishra il 8 Gen 2020
I have an image that contains a cross in it. It also also has circles, squares and other features.
How can I detect the location of the cross to sub pixel accuracy?
Matrox MIL has a Geometric Model Finder which works very well. Does Matlab have anything similar?

Risposte (1)

Rajani Mishra
Rajani Mishra il 8 Gen 2020
I have tried below code on an image containing a cross in it, it detects the center location of the cross.
Please refer below for the code:
  1. Convert image to grayscale image and then binarization
img = imread('test.jpg');
I = rgb2gray(img);
BW = imbinarize(I,0.25);
2. As the result may have missing parts dilate the image to join the parts
se = strel('line',11,90);
BW2 = imdilate(BW,se);
3. Use morphological ‘shrink’ operation to shrink image to a point
BW3 = bwmorph(BW2,'shrink',Inf);
4. Find the position of the point
[row,col] = find(BW3);
Hope this helps.

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by