Перемещение изображения для получения эффекта зеркала

Я работаю над проектом видео обработки, который нуждается в перевертывании кадра. Я попытался использовать cvFlip, но, похоже, не перевернулся вдоль оси y (работа оси x...) и приводит к ошибке сегментации. Есть ли другой вариант?

cv::Mat dst=src;      //src= source image from cam
cv::flip(dst, dst, 1);     //segmentation fault shown

imshow("flipped",dst);

Ответ 1

cv::Mat src=imload("bla.png");
cv::Mat dst;               // dst must be a different Mat
cv::flip(src, dst, 1);     // because you can't flip in-place (leads to segfault)

Ответ 2

Используйте cv::flip и передайте 1 как flipcode.

Глядя на ваше редактирование с помощью примера кода, вы не можете щелкнуть на месте. Вам нужен отдельный пункт назначения cv::Mat:

cv::Mat dst;
cv::flip(src, dst, 1);
imshow("flipped",dst);

Ответ 3

Ключ должен создать dst точно так же, как src:

cv::Mat dst = cv::Mat(src.rows, src.cols, CV_8UC3);
cv::flip(src, dst, 1);

imshow("flipped", dst);