Мое приложение получает изображения с камеры, которые могут иметь кодировку bayer_rggb8
.Нужно ли конвертировать эти изображения в bgr8
/ rgb8
/ mono8
?Или Aruco может обнаруживать маркеры в кодировке Байера cv::Mat
s?
Я использую Aruco 3.0.10.Ниже приведена функция, которую я использую.
/**Detects the markers in the image passed
*
* If you provide information about the camera parameters and the size of the marker, then, the extrinsics of
* the markers are detected
*
* @param input input color image
* @param detectedMarkers output vector with the markers detected
* @param camParams Camera parameters
* @param markerSizeMeters size of the marker sides expressed in meters
* @param setYPerperdicular If set the Y axis will be perpendicular to the surface. Otherwise, it will be the
* Z axis
*/
void detect(const cv::Mat& input, std::vector<Marker>& detectedMarkers, CameraParameters camParams,
float markerSizeMeters = -1, bool setYPerperdicular = false);
Я попытался просто дать ему кодированное изображение bayer_rggb8
, которое, кажется, работает (обнаруживает маркеры).Но я хотел бы знать, сработает ли это, или мне просто повезло с моим тестовым изображением.
Слева: исходное изображение, ошибочно отображаемое как brg8.Справа: изображение преобразовано / цвета интерполированы в BGR8 и помечены маркером.(Маркер был обнаружен на левом изображении.) 