Can anyone suggest alternative ways to detect the center of each of the targets in the following image using MATLBAB:

My current approach uses area and centroid definitions.
clc, clear all, close all
format long
beep off
rng('default')
I=imread('WP_20160811_13_38_26_Pro.jpg');
BW=im2bw(I);
BW=imcomplement(BW);
s = regionprops(BW, 'area','Centroid');
centroids = cat(1, s.Centroid);
imshow(BW)
hold on
plot(centroids(:,1), centroids(:,2), 'b*')
hold off
Is there a more accurate way to detect the center, since this approach seems sensitive to noise, distortion of perspective, etc. Is there a way to find the intersection of each of two quarter circles.
Another type of goal that I am considering is:
Can someone suggest a way to detect the center of the crosshair? Thanks
source
share