使用 OpenCV 3.0 + Visual Studio 2013 镜像网络摄像头流
Webcam Streaming is mirrored using OpenCV 3.0 + Visual Studio 2013
每次我编译此代码时,网络摄像头流都被镜像,就像我举起右手一样,看起来好像是我的左手在屏幕上,经过几次重新编译后出现错误消息并且代码再也不能用了。
错误:
Camera.exe 中 0x00007FFB3C6DA1C8 处的未处理异常:Microsoft C++ 异常:cv::Exception 在内存位置 0x000000D18AD5F610。
除了中断进程之外别无选择。
代码:
#include <opencv2/highgui/highgui.hpp>
#include <opencv\cv.h>
using namespace cv;
int main(){
Mat image;
VideoCapture cap;
cap.open(1);
namedWindow("Window", 1);
while (1){
cap >> image;
imshow("window", image);
waitKey(33);
}
}
不知道是不是我的代码有问题刚开始学习opencv!
#include <opencv2/highgui/highgui.hpp>
#include <opencv\cv.h>
using namespace cv;
int main(){
Mat image;
VideoCapture cap;
cap.open(1);
namedWindow("Window", 1);
while (1){
cap >> image;
flip(image,image,1)
imshow("window", image);
waitKey(33);
}
}
只需水平翻转图像即可Find More Here
当您的图像在垂直 (/x) 轴上镜像时没有任何问题(我猜在您的示例中您使用的是 built-in(笔记本电脑)网络摄像头)。
用于捕获和显示图像的(非常)简单的代码如下:
// imgcap in opencv3
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
int main() {
cv::VideoCapture cap(0); // camera 0
cv::Mat img;
while(true) {
cap >> img;
cv::flip(img,img,1);
cv::imshow("live view", img);
cv::waitKey(1);
}
return 0;
}
使用 OpenCV 3 时,您应该包括 headers,例如:
#include <opencv2/highgui.hpp>
每次我编译此代码时,网络摄像头流都被镜像,就像我举起右手一样,看起来好像是我的左手在屏幕上,经过几次重新编译后出现错误消息并且代码再也不能用了。
错误: Camera.exe 中 0x00007FFB3C6DA1C8 处的未处理异常:Microsoft C++ 异常:cv::Exception 在内存位置 0x000000D18AD5F610。
除了中断进程之外别无选择。
代码:
#include <opencv2/highgui/highgui.hpp>
#include <opencv\cv.h>
using namespace cv;
int main(){
Mat image;
VideoCapture cap;
cap.open(1);
namedWindow("Window", 1);
while (1){
cap >> image;
imshow("window", image);
waitKey(33);
}
}
不知道是不是我的代码有问题刚开始学习opencv!
#include <opencv2/highgui/highgui.hpp>
#include <opencv\cv.h>
using namespace cv;
int main(){
Mat image;
VideoCapture cap;
cap.open(1);
namedWindow("Window", 1);
while (1){
cap >> image;
flip(image,image,1)
imshow("window", image);
waitKey(33);
}
}
只需水平翻转图像即可Find More Here
当您的图像在垂直 (/x) 轴上镜像时没有任何问题(我猜在您的示例中您使用的是 built-in(笔记本电脑)网络摄像头)。
用于捕获和显示图像的(非常)简单的代码如下:
// imgcap in opencv3
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
int main() {
cv::VideoCapture cap(0); // camera 0
cv::Mat img;
while(true) {
cap >> img;
cv::flip(img,img,1);
cv::imshow("live view", img);
cv::waitKey(1);
}
return 0;
}
使用 OpenCV 3 时,您应该包括 headers,例如:
#include <opencv2/highgui.hpp>