mirror of
https://github.com/opencv/opencv.git
synced 2025-06-12 12:22:51 +08:00
Merge pull request #16445 from atinfinity:fixed-typo
* fixed typo * add compatibility code to handle migration
This commit is contained in:
parent
a6f3a21256
commit
f81fdd58da
@ -80,7 +80,7 @@ namespace calib
|
|||||||
cv::Size boardSize;
|
cv::Size boardSize;
|
||||||
int charucoDictName;
|
int charucoDictName;
|
||||||
int calibrationStep;
|
int calibrationStep;
|
||||||
float charucoSquareLenght, charucoMarkerSize;
|
float charucoSquareLength, charucoMarkerSize;
|
||||||
float captureDelay;
|
float captureDelay;
|
||||||
float squareSize;
|
float squareSize;
|
||||||
float templDst;
|
float templDst;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<opencv_storage>
|
<opencv_storage>
|
||||||
<charuco_dict>0</charuco_dict>
|
<charuco_dict>0</charuco_dict>
|
||||||
<charuco_square_lenght>200</charuco_square_lenght>
|
<charuco_square_length>200</charuco_square_length>
|
||||||
<charuco_marker_size>100</charuco_marker_size>
|
<charuco_marker_size>100</charuco_marker_size>
|
||||||
<calibration_step>1</calibration_step>
|
<calibration_step>1</calibration_step>
|
||||||
<max_frames_num>30</max_frames_num>
|
<max_frames_num>30</max_frames_num>
|
||||||
|
@ -273,7 +273,7 @@ CalibProcessor::CalibProcessor(cv::Ptr<calibrationData> data, captureParameters
|
|||||||
#ifdef HAVE_OPENCV_ARUCO
|
#ifdef HAVE_OPENCV_ARUCO
|
||||||
mArucoDictionary = cv::aruco::getPredefinedDictionary(
|
mArucoDictionary = cv::aruco::getPredefinedDictionary(
|
||||||
cv::aruco::PREDEFINED_DICTIONARY_NAME(capParams.charucoDictName));
|
cv::aruco::PREDEFINED_DICTIONARY_NAME(capParams.charucoDictName));
|
||||||
mCharucoBoard = cv::aruco::CharucoBoard::create(mBoardSize.width, mBoardSize.height, capParams.charucoSquareLenght,
|
mCharucoBoard = cv::aruco::CharucoBoard::create(mBoardSize.width, mBoardSize.height, capParams.charucoSquareLength,
|
||||||
capParams.charucoMarkerSize, mArucoDictionary);
|
capParams.charucoMarkerSize, mArucoDictionary);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -181,7 +181,7 @@ int main(int argc, char** argv)
|
|||||||
cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(capParams.charucoDictName));
|
cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(capParams.charucoDictName));
|
||||||
cv::Ptr<cv::aruco::CharucoBoard> charucoboard =
|
cv::Ptr<cv::aruco::CharucoBoard> charucoboard =
|
||||||
cv::aruco::CharucoBoard::create(capParams.boardSize.width, capParams.boardSize.height,
|
cv::aruco::CharucoBoard::create(capParams.boardSize.width, capParams.boardSize.height,
|
||||||
capParams.charucoSquareLenght, capParams.charucoMarkerSize, dictionary);
|
capParams.charucoSquareLength, capParams.charucoMarkerSize, dictionary);
|
||||||
globalData->totalAvgErr =
|
globalData->totalAvgErr =
|
||||||
cv::aruco::calibrateCameraCharuco(globalData->allCharucoCorners, globalData->allCharucoIds,
|
cv::aruco::calibrateCameraCharuco(globalData->allCharucoCorners, globalData->allCharucoIds,
|
||||||
charucoboard, globalData->imageSize,
|
charucoboard, globalData->imageSize,
|
||||||
|
@ -37,7 +37,10 @@ bool calib::parametersController::loadFromFile(const std::string &inputFileName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
readFromNode(reader["charuco_dict"], mCapParams.charucoDictName);
|
readFromNode(reader["charuco_dict"], mCapParams.charucoDictName);
|
||||||
readFromNode(reader["charuco_square_lenght"], mCapParams.charucoSquareLenght);
|
if (readFromNode(reader["charuco_square_lenght"], mCapParams.charucoSquareLength)) {
|
||||||
|
std::cout << "DEPRECATION: Parameter 'charuco_square_lenght' has been deprecated (typo). Use 'charuco_square_length' instead." << std::endl;
|
||||||
|
}
|
||||||
|
readFromNode(reader["charuco_square_length"], mCapParams.charucoSquareLength);
|
||||||
readFromNode(reader["charuco_marker_size"], mCapParams.charucoMarkerSize);
|
readFromNode(reader["charuco_marker_size"], mCapParams.charucoMarkerSize);
|
||||||
readFromNode(reader["camera_resolution"], mCapParams.cameraResolution);
|
readFromNode(reader["camera_resolution"], mCapParams.cameraResolution);
|
||||||
readFromNode(reader["calibration_step"], mCapParams.calibrationStep);
|
readFromNode(reader["calibration_step"], mCapParams.calibrationStep);
|
||||||
@ -51,7 +54,7 @@ bool calib::parametersController::loadFromFile(const std::string &inputFileName)
|
|||||||
bool retValue =
|
bool retValue =
|
||||||
checkAssertion(mCapParams.charucoDictName >= 0, "Dict name must be >= 0") &&
|
checkAssertion(mCapParams.charucoDictName >= 0, "Dict name must be >= 0") &&
|
||||||
checkAssertion(mCapParams.charucoMarkerSize > 0, "Marker size must be positive") &&
|
checkAssertion(mCapParams.charucoMarkerSize > 0, "Marker size must be positive") &&
|
||||||
checkAssertion(mCapParams.charucoSquareLenght > 0, "Square size must be positive") &&
|
checkAssertion(mCapParams.charucoSquareLength > 0, "Square size must be positive") &&
|
||||||
checkAssertion(mCapParams.minFramesNum > 1, "Minimal number of frames for calibration < 1") &&
|
checkAssertion(mCapParams.minFramesNum > 1, "Minimal number of frames for calibration < 1") &&
|
||||||
checkAssertion(mCapParams.calibrationStep > 0, "Calibration step must be positive") &&
|
checkAssertion(mCapParams.calibrationStep > 0, "Calibration step must be positive") &&
|
||||||
checkAssertion(mCapParams.maxFramesNum > mCapParams.minFramesNum, "maxFramesNum < minFramesNum") &&
|
checkAssertion(mCapParams.maxFramesNum > mCapParams.minFramesNum, "maxFramesNum < minFramesNum") &&
|
||||||
@ -119,7 +122,7 @@ bool calib::parametersController::loadFromParser(cv::CommandLineParser &parser)
|
|||||||
mCapParams.board = chAruco;
|
mCapParams.board = chAruco;
|
||||||
mCapParams.boardSize = cv::Size(6, 8);
|
mCapParams.boardSize = cv::Size(6, 8);
|
||||||
mCapParams.charucoDictName = 0;
|
mCapParams.charucoDictName = 0;
|
||||||
mCapParams.charucoSquareLenght = 200;
|
mCapParams.charucoSquareLength = 200;
|
||||||
mCapParams.charucoMarkerSize = 100;
|
mCapParams.charucoMarkerSize = 100;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -64,7 +64,7 @@ By default values of advanced parameters are stored in defaultConfig.xml
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<opencv_storage>
|
<opencv_storage>
|
||||||
<charuco_dict>0</charuco_dict>
|
<charuco_dict>0</charuco_dict>
|
||||||
<charuco_square_lenght>200</charuco_square_lenght>
|
<charuco_square_length>200</charuco_square_length>
|
||||||
<charuco_marker_size>100</charuco_marker_size>
|
<charuco_marker_size>100</charuco_marker_size>
|
||||||
<calibration_step>1</calibration_step>
|
<calibration_step>1</calibration_step>
|
||||||
<max_frames_num>30</max_frames_num>
|
<max_frames_num>30</max_frames_num>
|
||||||
@ -78,7 +78,7 @@ By default values of advanced parameters are stored in defaultConfig.xml
|
|||||||
@endcode
|
@endcode
|
||||||
|
|
||||||
- *charuco_dict*: name of special dictionary, which has been used for generation of chAruco pattern
|
- *charuco_dict*: name of special dictionary, which has been used for generation of chAruco pattern
|
||||||
- *charuco_square_lenght*: size of square on chAruco board (in pixels)
|
- *charuco_square_length*: size of square on chAruco board (in pixels)
|
||||||
- *charuco_marker_size*: size of Aruco markers on chAruco board (in pixels)
|
- *charuco_marker_size*: size of Aruco markers on chAruco board (in pixels)
|
||||||
- *calibration_step*: interval in frames between launches of @ref cv::calibrateCamera
|
- *calibration_step*: interval in frames between launches of @ref cv::calibrateCamera
|
||||||
- *max_frames_num*: if number of frames for calibration is greater then this value frames filter starts working.
|
- *max_frames_num*: if number of frames for calibration is greater then this value frames filter starts working.
|
||||||
@ -91,7 +91,7 @@ QR faster than SVD, but potentially less precise
|
|||||||
- *frame_filter_conv_param*: parameter which used in linear convolution of bicriterial frames filter
|
- *frame_filter_conv_param*: parameter which used in linear convolution of bicriterial frames filter
|
||||||
- *camera_resolution*: resolution of camera which is used for calibration
|
- *camera_resolution*: resolution of camera which is used for calibration
|
||||||
|
|
||||||
**Note:** *charuco_dict*, *charuco_square_lenght* and *charuco_marker_size* are used for chAruco pattern generation
|
**Note:** *charuco_dict*, *charuco_square_length* and *charuco_marker_size* are used for chAruco pattern generation
|
||||||
(see Aruco module description for details: [Aruco tutorials](https://github.com/opencv/opencv_contrib/tree/master/modules/aruco/tutorials))
|
(see Aruco module description for details: [Aruco tutorials](https://github.com/opencv/opencv_contrib/tree/master/modules/aruco/tutorials))
|
||||||
|
|
||||||
Default chAruco pattern:
|
Default chAruco pattern:
|
||||||
|
@ -201,20 +201,20 @@ icvYMLParseValue( CvFileStorage* fs, char* ptr, CvFileNode* node,
|
|||||||
if ( d == '<') //support of full type heading from YAML 1.2
|
if ( d == '<') //support of full type heading from YAML 1.2
|
||||||
{
|
{
|
||||||
const char* yamlTypeHeading = "<tag:yaml.org,2002:";
|
const char* yamlTypeHeading = "<tag:yaml.org,2002:";
|
||||||
const size_t headingLenght = strlen(yamlTypeHeading);
|
const size_t headingLength = strlen(yamlTypeHeading);
|
||||||
|
|
||||||
char* typeEndPtr = ++ptr;
|
char* typeEndPtr = ++ptr;
|
||||||
|
|
||||||
do d = *++typeEndPtr;
|
do d = *++typeEndPtr;
|
||||||
while( cv_isprint(d) && d != ' ' && d != '>' );
|
while( cv_isprint(d) && d != ' ' && d != '>' );
|
||||||
|
|
||||||
if ( d == '>' && (size_t)(typeEndPtr - ptr) > headingLenght )
|
if ( d == '>' && (size_t)(typeEndPtr - ptr) > headingLength )
|
||||||
{
|
{
|
||||||
if ( memcmp(ptr, yamlTypeHeading, headingLenght) == 0 )
|
if ( memcmp(ptr, yamlTypeHeading, headingLength) == 0 )
|
||||||
{
|
{
|
||||||
value_type |= CV_NODE_USER;
|
value_type |= CV_NODE_USER;
|
||||||
*typeEndPtr = ' ';
|
*typeEndPtr = ' ';
|
||||||
ptr += headingLenght - 1;
|
ptr += headingLength - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,10 +41,10 @@ static Mat DrawMyImage(int thickness,int nbShape)
|
|||||||
{
|
{
|
||||||
Mat img=Mat::zeros(500,256*thickness+100,CV_8UC1);
|
Mat img=Mat::zeros(500,256*thickness+100,CV_8UC1);
|
||||||
int offsetx = 50, offsety = 25;
|
int offsetx = 50, offsety = 25;
|
||||||
int lineLenght = 50;
|
int lineLength = 50;
|
||||||
|
|
||||||
for (int i=0;i<256;i++)
|
for (int i=0;i<256;i++)
|
||||||
line(img,Point(thickness*i+ offsetx, offsety),Point(thickness*i+ offsetx, offsety+ lineLenght),Scalar(i), thickness);
|
line(img,Point(thickness*i+ offsetx, offsety),Point(thickness*i+ offsetx, offsety+ lineLength),Scalar(i), thickness);
|
||||||
RNG r;
|
RNG r;
|
||||||
Point center;
|
Point center;
|
||||||
int radius;
|
int radius;
|
||||||
@ -57,19 +57,19 @@ static Mat DrawMyImage(int thickness,int nbShape)
|
|||||||
int typeShape = r.uniform(MyCIRCLE, MyELLIPSE+1);
|
int typeShape = r.uniform(MyCIRCLE, MyELLIPSE+1);
|
||||||
switch (typeShape) {
|
switch (typeShape) {
|
||||||
case MyCIRCLE:
|
case MyCIRCLE:
|
||||||
center = Point(r.uniform(offsetx,img.cols- offsetx), r.uniform(offsety + lineLenght, img.rows - offsety));
|
center = Point(r.uniform(offsetx,img.cols- offsetx), r.uniform(offsety + lineLength, img.rows - offsety));
|
||||||
radius = r.uniform(1, min(offsetx, offsety));
|
radius = r.uniform(1, min(offsetx, offsety));
|
||||||
circle(img,center,radius,Scalar(i),-1);
|
circle(img,center,radius,Scalar(i),-1);
|
||||||
break;
|
break;
|
||||||
case MyRECTANGLE:
|
case MyRECTANGLE:
|
||||||
center = Point(r.uniform(offsetx, img.cols - offsetx), r.uniform(offsety + lineLenght, img.rows - offsety));
|
center = Point(r.uniform(offsetx, img.cols - offsetx), r.uniform(offsety + lineLength, img.rows - offsety));
|
||||||
width = r.uniform(1, min(offsetx, offsety));
|
width = r.uniform(1, min(offsetx, offsety));
|
||||||
height = r.uniform(1, min(offsetx, offsety));
|
height = r.uniform(1, min(offsetx, offsety));
|
||||||
rc = Rect(center-Point(width ,height )/2, center + Point(width , height )/2);
|
rc = Rect(center-Point(width ,height )/2, center + Point(width , height )/2);
|
||||||
rectangle(img,rc, Scalar(i), -1);
|
rectangle(img,rc, Scalar(i), -1);
|
||||||
break;
|
break;
|
||||||
case MyELLIPSE:
|
case MyELLIPSE:
|
||||||
center = Point(r.uniform(offsetx, img.cols - offsetx), r.uniform(offsety + lineLenght, img.rows - offsety));
|
center = Point(r.uniform(offsetx, img.cols - offsetx), r.uniform(offsety + lineLength, img.rows - offsety));
|
||||||
width = r.uniform(1, min(offsetx, offsety));
|
width = r.uniform(1, min(offsetx, offsety));
|
||||||
height = r.uniform(1, min(offsetx, offsety));
|
height = r.uniform(1, min(offsetx, offsety));
|
||||||
angle = r.uniform(0, 180);
|
angle = r.uniform(0, 180);
|
||||||
|
Loading…
Reference in New Issue
Block a user