mac本使用opencv打开摄像头导致python意外退出?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac本使用opencv打开摄像头导致python意外退出?相关的知识,希望对你有一定的参考价值。

最近在学习opencv模块
mac本使用opencv打开摄像头导致python意外退出
代码是这样的
import cv2
cap = cv2.VideoCapture(0)
while 1:
ret, frame = cap.read()
k = cv2.waitKey(1)
if k == 27:
break
cv2.imshow("capture", frame)
cap.release()
cv2.destroyAllWindows()
为什么运行会导致python意外退出啊,是什么原因,有没有大佬指导以下.

参考技术A 我再win上测试没有问题,
import cv2
cap = cv2.VideoCapture(0)
while 1:
ret, frame = cap.read()
k = cv2.waitKey(1)
if k == 27:
break
cv2.imshow("capture", frame)
cap.release()
cv2.destroyAllWindows()
实在不行试试cv+pygame
代码如下:
import pygame
import cv2

cap = cv2.VideoCapture(0)
ret, img = cap.read()
if not ret:
print("Can't read stream")

img = cv2.transpose(img)
print('shape:', img.shape)
pygame.init()
screen = pygame.display.set_mode((img.shape[0],img.shape[1]))
surface = pygame.surface.Surface((img.shape[0], img.shape[1]))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
ret, img = cap.read()
if not ret:
running = False
break
else:
img = cv2.transpose(img)
pygame.surfarray.blit_array(surface, img)
screen.blit(surface, (0,0))

pygame.display.flip()
pygame.quit()
参考技术B Mac上就是很神奇,如果用termial完全没有问题,我用pycharm,导入cv2,使用cv2调用摄像头就会提示意外退出
有一个很土的解决办法,应用程序-pycharm-显示包内容-MacOS-pycharm,这个用termial打开,就可以用了

opencv如何打开usb摄像头

想用opencv打开电脑上usb摄像头拍照,但是却总是打开的电脑自带摄像头。网上说要cvCreateCameraCapture(int index)或者cvCaptureFromCAM(int index)里面设置参数,但那个index到底应该是多少才能选择上usb摄像头啊?
我试了几个数,打开的都是自带摄像头或者直接就程序出错。
我的是xp下vs2008。cvcamGetCamerasCount()函数貌似用不了,编译的时候提示找不到标识符。

我为什么就是打不开摄像头额?

#include"cv.h"

#include"highgui.h"

#include"iostream"

using namespace std;


int main(int argc,char* argv[])

CvCapture* cap;

cap=cvCaptureFromCAM(1);

if(!cap)

cout<<"create camera capture error"<<endl;

system("pause");

exit(-1);

cvNamedWindow("img",1);

IplImage* img;

while(1)

img=cvQueryFrame(cap);//捕获相机的视频帧,并进行解码操作

if(!img)

break;

if(img->origin==IPL_ORIGIN_TL)//如果图片原点在左上角,将其沿X轴翻转,使左下角

cvFlip(img,img);

cvShowImage("img",img);

cvWaitKey(3);

cvReleaseCapture(&cap);

cvDestroyAllWindows();

cvReleaseImage(&img);

return 0;

总出现下面提示:

 

参考技术A 我用的是WIN7+VS2010+OPENCV2.1
用cvCreateCameraCapture(0)或者cvCreateCameraCapture(-1)打开的都是电脑自带的摄像头
用cvCreateCameraCapture(1)打开的就是外置的USB摄像头
参考技术B 参数设为1
设为0一般是默认自带的摄像头
参考技术C 你是否包含了#include <cvcam.h>这个头文件呢

以上是关于mac本使用opencv打开摄像头导致python意外退出?的主要内容,如果未能解决你的问题,请参考以下文章

使用QT+OpenCV打开摄像头

python+opencv打开摄像头,保存视频拍照功能的实现

OpenCV-Python基础教程2-打开摄像头

如何从网络摄像头 OpenCV 裁剪圆形图像并删除背景

python+opencv 电脑调用手机的摄像头

opencv怎么打开usb摄像头