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.
References:
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.
2. Calibrate
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