The camera, which last use, imaging effect is not very good. So bought a new one, Which support 720p video with 30FPS and more, use this opportunity, talk about use chArucoBoard to calibrate the camera.
1. Generate ChArucoBoard
From the reference, can get Source code from here
Because with Qt, the Qt Pro file is:
QT += core QT -= gui CONFIG += c++11 TARGET = new_camera_Calibration CONFIG += console CONFIG -= app_bundle INCLUDEPATH += . INCLUDEPATH += /usr/local/include/ LIBS += -L/usr/local/lib/ -I/usr/local/include -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_aruco -lopencv_imgcodecs -lopencv_calib3d -lopencv_videoio TEMPLATE = app SOURCES += \ drawcharucoboard.cpp DEFINES += QT_DEPRECATED_WARNINGS
and with Qt Creator 4.2, in the left side, choose Project->Run Setting-> Command line arguments, input this:
-w=7 -h=5 -sl=80 -ml=70 -d=11 -bb=1 -si=true /home/nimo/NewCamera/Temp/0601.png
Then, run the source code, you can get a Board.
And then, you can use your camera to take a video, the content is the ChArucoBoard what is generate in first part.
Use Python Code to Get avi, I dont know the reason why the Opencv3 could not recognize the video which I get from AMCap. And then, use the Source Code here
and here is the Args:
-w=7 -h=5 -sl=80 -ml=70 -d=11 -sc=true -v=/home/nimo/Videos/NewCamera/calibration.avi /home/nimo/NewCamera/Calibration.txt
Of course, here is my Project in github : here