BingyaoHuang / single-shot-pro-cam-calib

[TASE & ISMAR'18] A Fast and Flexible Projector-Camera Calibration System
http://vision.cs.stonybrook.edu/~bingyao/pub/calibration_TASE
Other
153 stars 39 forks source link

Regarding the camera resolution #10

Closed guangyuhe closed 3 years ago

guangyuhe commented 3 years ago

Hi,

The code runs very well when the camera's resolution is '640x480'. The success rate is almost 100%. However, when changing to a higher camera's resolution, like '1600x1200', the success rate drops a lot. I do see your notes that it has a better performance when using a lower resolution. But I still would like to ask if there is anything I can do to improve the behavior when using a higher camera resolution. And what could be the possible bottleneck for this problem?

Would be appreciated for any suggestions!

BingyaoHuang commented 3 years ago

@guangyuhe The reason is that the camera-captured color grid line thickness (in pixel) is changed by the camera resolution (1600x1200), thus the default color grid segmentation parameters may not work well.

For other resolutions, e.g., 1600x1200, you can modify the color grid segmentation parameters such as adaptiveThresh sigma, morphological operation's kernel sizes in segColorGrid and bw2skele accordingly. To find the best parameters, you can turn on the verbose flag for more debug info and see if the color grid is correctly segmented.

guangyuhe commented 3 years ago

Thank you. It is a very good suggestion.

In segColorGridhttps://github.com/BingyaoHuang/single-shot-pro-cam-calib/blob/master/%2BImgProc/segColorGrid.m#L176, I make the following change from line 175:

% close and open
se1 = strel('line',10,0);%parameter for '1600x1200'
se2 = strel('line',10,90);
% se1 = strel('line',2,0);%original
% se2 = strel('line',2,90);%original

Now, the behavior is very good.

BingyaoHuang commented 3 years ago

Great!