Find location of cross in image.

10 Ansichten (letzte 30 Tage)
Hans Dohse
Hans Dohse am 23 Dez. 2019
Beantwortet: Rajani Mishra am 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?

Antworten (1)

Rajani Mishra
Rajani Mishra am 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.

Kategorien

Mehr zu Read, Write, and Modify Image finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by