我正在做一个视频处理项目,该项目需要一些帧翻转。我尝试过使用cvFlip,但似乎没有沿着y轴翻转(x轴工作…),导致分割错误。还有其他选择吗??
cv::Mat dst=src; //src= source image from cam
cv::flip(dst, dst, 1); //segmentation fault shown
imshow("flipped",dst);
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)
使用cv::flip
并将1
作为flipcode
传递。
使用示例代码查看您的编辑,您无法就地翻转。您需要一个单独的目的地cv::Mat
:
cv::Mat dst;
cv::flip(src, dst, 1);
imshow("flipped",dst);
关键是创建与src
:完全相同的dst
cv::Mat dst = cv::Mat(src.rows, src.cols, CV_8UC3);
cv::flip(src, dst, 1);
imshow("flipped", dst);