Я написал функцию калибровки камеры, используя набор изображений в OpenCV 4.11.0. Я искал много веб -сайтов, и все написали это, однако значение, возвращаемое CalibrateCamera, больше, чем 244. Где проблема? Мне сказали, что это должно быть
cameraFunc.ScanStandardConnersEx(2, "C:/Users/WV/Desktop/Workspace/CameraCL/data/standard2/%1left.jpg", "C:/Users/WV/Desktop/Workspace/CameraCL/data/standard2/%1right.jpg");
const int BOARD_CORNERS_X = 60; // row
const int BOARD_CORNERS_Y = 33; // col
const float SQUARE_SIZE = 30; // gird size (30mm)
void CameraFunc::ScanStandardConnersEx(int imagesCount, std::string left_format, std::string right_format)
{
QMutex mutex,mutex_index, mutex_img;
std::vector objPoints;
std::vector imgPoints_left, imgPoints_right;
std::vector imgcpy_left, imgcpy_right;
QSize img_size_record;
bool img_size_flag = false;
bool img_test = false;
int index = 0;
cv::parallel_for_(cv::Range(0, 100), [&](const cv::Range& range) {
int i = index;
mutex_index.lock();
index++;
mutex_index.unlock();
{
//get path
QString path_left = QString(QString::fromStdString(left_format).arg(i));
QString path_right = QString(QString::fromStdString(right_format).arg(i));
if(!QFile::exists(path_left) || !QFile::exists(path_right))
{
return;
}
//load image
std::string pathstd_left = path_left.toStdString();
cv::Mat img_left_ = cv::imread(pathstd_left.c_str(), cv::IMREAD_COLOR_BGR);//cv::IMREAD_GRAYSCALE
cv::Mat img_left = img_left_.clone();
mutex_img.lock();
cv::cvtColor(img_left_, img_left, cv::COLOR_BGR2GRAY);
mutex_img.unlock();
std::string pathstd_right = path_right.toStdString();
cv::Mat img_right_ = cv::imread(pathstd_right.c_str(), cv::IMREAD_COLOR_BGR);
cv::Mat img_right = img_right_.clone();
mutex_img.lock();
cv::cvtColor(img_right_, img_right, cv::COLOR_BGR2GRAY);
mutex_img.unlock();
//check image
if (img_left.empty() || img_right.empty()) {
qDebug()
Подробнее здесь: https://stackoverflow.com/questions/796 ... urrently-g
Функция CalibrateCamera OpenCV возвращает неправильное значение, которое в настоящее время превышает 244 (должно быть <1 ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как соответствовать простой HTML-странице для печати на принтере TSC TTP-244 Pro (40x60 мм)?
Anonymous » » в форуме Html - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как соответствовать простой HTML-странице для печати на принтере TSC TTP-244 Pro (40x60 мм)?
Anonymous » » в форуме CSS - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-