opencv2 调用摄像头黑屏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv2 调用摄像头黑屏相关的知识,希望对你有一定的参考价值。

opencv2.4.13 +vs2015+win10, 使用opencv调用摄像头时, 运行出来如下图:然后代码:#include<opencv2\opencv.hpp>#include<iostream>#include<string>using namespace std;using namespace cv;int main() CascadeClassifier cascade; //定义级联分类器的对象 cascade.load("haarcascade_frontalface_alt.xml"); // VideoCapture cap; //创建一个结构 cap.open(0); Mat frame; int pic_num = 1; while (1) cap >> frame; std::vector<Rect> faces; Mat frame_gray; cvtColor(frame, frame_gray, CV_BGR2GRAY, 0); //它可以检测出图片中所有的人脸,并将人脸用vector保存各个人脸的坐标、大小(用矩形表示) cascade.detectMultiScale(frame_gray, faces, 1.8, 4, 0, Size(100, 100), Size(500, 500)); for (size_t i = 0; i < faces.size(); i++) rectangle(frame, faces[i], Scalar(255, 0, 0), 2, 8, 0); if (faces.size() == 1) Mat faceROI = frame_gray(faces[0]); Mat myFace; resize(faceROI, myFace, Size(92, 112)); putText(frame, to_string(pic_num), faces[0].tl(), 3, 1.2, (0, 0, 255), 2, LINE_AA); string filename = format("F:/opencv/11/opencv/opencv/att_faces/%d.pgm", pic_num); imwrite(filename, myFace); imshow(filename, myFace); waitKey(2000); destroyWindow(filename); pic_num++; if (pic_num == 25) return 0; imshow("frame", frame); waitKey(50); return 0;

参考技术A 确实这种情况只有在楼主你这种特定条件下:联想本,OpenCV1.0,Win7才会出现,随便换掉一个条件吧

【Python】Opencv调用摄像头问题

参考技术A

使用Opencv调用摄像头时遇到的一些问题。

使用 cv2.VideoCapture(idx) 调用摄像头时要知道摄像头设备的索引位置,来理清寻找思路。

首先 去设备管理器查看硬件运行是否正常,或者使用其他调用摄像头的程序测试,如360魔法摄像头,微信、qq视频等。

然后 ,使用opencv调用摄像头。一般来说,内置摄像头为 idx = 0 ,外部摄像头为 idx = 1 ;但是,我2015年买的联想笔记本,其内置摄像头索引为 idx = 700 ,外置摄像头为 idx = 1400 。找了半天,真是莫名其妙。
可以用循环查找摄像头位置:

一般有两种情况:

解决方法:

比如:

貌似是因为其他软件为了个人隐私安全锁定了摄像头图像,

以上是关于opencv2 调用摄像头黑屏的主要内容,如果未能解决你的问题,请参考以下文章

苹果电脑摄像头黑屏应该怎么处理?

苹果电脑摄像头黑屏 苹果电脑摄像头不能用了怎么办

电脑摄像头一直都是没有可用的webcam,下了原厂软件也没用。电脑也经常死机重启黑屏。才买了一年半。

iOS 11.3通过getUserMedia和黑屏进行摄像头访问

Unity - 将 Unity 更新到 2021.1.18f1 后,EasyAR 3.1.0 网络摄像头黑屏

opencv 物体运动检测,摄像头灯亮,却没有画面黑屏