MATLAB Answers

Find location of cross in image.

15 views (last 30 days)
Hans Dohse
Hans Dohse on 23 Dec 2019
Answered: Rajani Mishra on 8 Jan 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?

  1 Comment

KALYAN ACHARJYA on 27 Dec 2019
Can you share a sample image?

Sign in to comment.

Answers (1)

Rajani Mishra
Rajani Mishra on 8 Jan 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.


Sign in to comment.

Sign in to answer this question.