我需要翻转(镜像)从网络摄像头收到的帧,我按照这样的代码:
cv::flip(gray,gray,1);
imshow("flipped",gray);
grey是cv :: Mat格式,翻转是cvNamedWindow。我在qt creator IDE中遇到了分段错误。我怀疑灰色的维度可能是分段错误的原因。灰色是从凸轮接收的实际图像转换的灰度图像。如何清除错误?有没有人有更好的想法??
答案 0 :(得分:2)
分段错误的原因之一是您可能没有对网络摄像头传递给OpenCV的“坏”帧进行检查。您需要检查框架是否为NULL,然后使用流上的翻转/其他操作。
答案 1 :(得分:2)
cv::Mat dst;
cv::flip(src,dst,0);
Point2f src_center(dst.cols/2.0F, dst.rows/2.0F);
cv::Mat rot_matrix = getRotationMatrix2D(src_center, 180.0, 1.0);
cv::Mat rotated_img(Size(dst.size().height, dst.size().width), dst.type());
warpAffine(dst, rotated_img, rot_matrix, dst.size());
imshow("flipped",rotated_img);