我需要翻转(镜像)从网络摄像头收到的帧,然后我遵循如下代码:
cv::flip(gray,gray,1);
imshow("flipped",gray);
灰色是 cv::Mat 格式,翻转是 cvNamedWindow。我在 qt creator IDE 中遇到分段错误。我怀疑灰色的维度可能是分段错误的原因。gray 是从凸轮接收到的实际图像转换的灰度图像。如何清除错误?有人有更好的主意吗?
我需要翻转(镜像)从网络摄像头收到的帧,然后我遵循如下代码:
cv::flip(gray,gray,1);
imshow("flipped",gray);
灰色是 cv::Mat 格式,翻转是 cvNamedWindow。我在 qt creator IDE 中遇到分段错误。我怀疑灰色的维度可能是分段错误的原因。gray 是从凸轮接收到的实际图像转换的灰度图像。如何清除错误?有人有更好的主意吗?
分段错误的原因之一是您可能没有对网络摄像头传递给 OpenCV 的“坏”帧进行检查。您需要检查帧是否为 NULL,然后在流上使用翻转/其他操作。
我认为MingW是判决。据报道,我使用的版本有一些像这样的错误。因此,为了获得镜像,我使用翻转代码 0 翻转了 src 图像,然后将其旋转 180 度以沿 y 轴翻转它。
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);