/
klischa
/
AstraScanner2
Обзор
Документация
Войти
/
klischa
/
AstraScanner2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
create_chessboard.cpp
41 строка
2 KB
k k
feat(tests): добавлены тесты для всех компонентов и исправленыSettingsManagerTests
04 июн 2026, 10:44
04 июн 2026, 10:44
60dd183
Код
Авторство
О чём код?
#include <opencv2/opencv.hpp> #include <iostream> int main() { // Создаем шахматную доску с 7x10 квадратами (для 6x9 внутренних углов) cv::Mat frame(480, 640, CV_8UC3, cv::Scalar(255, 255, 255)); int squareSize = 94; // 25mm converted to pixels int numCols = 10; // 9 + 1 int numRows = 7; // 6 + 1 int startX = (640 - numCols * squareSize) / 2; int startY = (480 - numRows * squareSize) / 2; for (int row = 0; row < numRows; ++row) { for (int col = 0; col < numCols; ++col) { cv::Point top_left(startX + col * squareSize, startY + row * squareSize); cv::Point bottom_right(startX + (col + 1) * squareSize, startY + (row + 1) * squareSize); cv::Scalar color = ((row + col) % 2 == 0) ? cv::Scalar(0, 0, 0) : cv::Scalar(255, 255, 255); cv::rectangle(frame, top_left, bottom_right, color, cv::FILLED); } } cv::imwrite("chessboard_6x9.png", frame); std::cout << "Saved chessboard_6x9.png" << std::endl; // Попробуем найти углы cv::Mat gray; cv::cvtColor(frame, gray, cv::COLOR_BGR2GRAY); std::vector<cv::Point2f> corners; bool found = cv::findChessboardCorners(gray, cv::Size(9, 6), corners, cv::CALIB_CB_ADAPTIVE_THRESH | cv::CALIB_CB_NORMALIZE_IMAGE); std::cout << "Found: " << found << " corners: " << corners.size() << std::endl; return 0; }