Cannot detect dots in calibration image with detectCircleGridPoints
    21 views (last 30 days)
  
       Show older comments
    
    Jos Muller
 on 26 Apr 2023
  
    
    
    
    
    Edited: Walter Roberson
      
      
 on 15 Jan 2024
            Hi all,
I'm trying to calibrate my camera based on a dotted pattern on a board. I see I can use the detectCircleGridPoints algorithm, but cannot get it to detect any of the points and get imagePoints = []. Below my code. 
What am I doing wrong?
Best,
clc; clear all; close all;
fileName = 'dotted_cali_fig.tiff';  %to attach the file I had to put it in .png 
img = imread(fileName);
patternDims = [7 35];
imagePoints = detectCircleGridPoints(img,patternDims,PatternType="symmetric")
0 Comments
Accepted Answer
  Antoni Garcia-Herreros
      
 on 26 Apr 2023
        Hello Jos,
I'm not sure why detectCirlceGridPoints is not working, however, you could try using regionprops:
BW=imbinarize(img);
r=regionprops('table',imcomplement(BW),'Centroid','Circularity','Area');
R=table2array(r);
R=R(R(:,1)>5,:); % Filter by Area > 5 pixels
ListPoints=R(R(:,4)>prctile(R(:,4),5),:); % Filter by circularity
Hope this helps
More Answers (0)
See Also
Categories
				Find more on Camera Calibration in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
