Find location of cross in image.

9 次查看(过去 30 天)
Hans Dohse
Hans Dohse 2019-12-23
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 个)

Rajani Mishra
Rajani Mishra 2020-1-8
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.

类别

Help CenterFile Exchange 中查找有关 Read, Write, and Modify Image 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by