捕获摄像头的其中一帧,并显示,但捕捉到的总是黑色图像

h532600610 2016-07-01 03:53:13
我想捕获摄像头的其中一帧,并显示,但是捕捉到的总是黑色图像,不知道是因为什么。

显示的图像如下
摄像头是用的微软的。摄像头正常工作

代码是在VC++6.0上编写的
#include <cv.h>
#include <highgui.h>
#include <cxcore.h>
#include <stdlib.h>
#include <stdio.h>

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

IplImage* img;
//IplImage* img2;
CvCapture* pCature;
char* filename="..//save1.jpg";
//img2=cvLoadImage("..//1.jpg");
if (!(pCature = cvCaptureFromCAM(-1)))
{
MessageBox(NULL,TEXT("no camara!"),TEXT("warning"),MB_OK);
return 0;
}

for (int i=0;i<1;i++)
img=cvQueryFrame(pCature);

cvSaveImage(filename,img);
//原点显示 默认值 0:左上角是原点 1:左下角是原点
img->origin=1;

//输出图像通道数 3通道图像RGB模式
printf("nChannels is %d",img->nChannels);
cvNamedWindow("1");
cvShowImage("1",img);
cvWaitKey(0);
return 0;
}


是什么原因啊,很茫然。。。谢谢各路大神
...全文
824 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
@风轻云淡_ 2019-04-10
  • 打赏
  • 举报
回复

if (!(pCature = cvCaptureFromCAM(-1)))

摄像头编号应该是从0开始吧.改成0试试?
Method.Jiao 2019-04-10
  • 打赏
  • 举报
回复
感觉应该是系统权限问题,你的调试器与程序必须得是管理员权限运行才行
qiexi1235 2019-04-02
  • 打赏
  • 举报
回复
请问是什么原因呢,我的是vs2017,能打开相机但是捕捉的都是黑的
Pokeeeer 2016-07-06
  • 打赏
  • 举报
回复
把截图保存下来,在windows中手动打开,看看截图是否正确。 如果不正确,看看每个API的返回值有没有异常。
赵4老师 2016-07-06
  • 打赏
  • 举报
回复
设备管理器中摄像头启用了吗? 以管理员身份运行了吗?
赵4老师 2016-07-01
  • 打赏
  • 举报
回复
换VS2008或VS2010
内容概要:本文档为一份聚焦电气工程、自动化与控制领域的科研辅助资源合集,重点围绕永磁同步电机(PMSM)控制、逆变器建模与仿真、微电网优化调度、参数辨识与预测控制等核心技术展开。核心内容为“增量式无差拍控制”与“基于电流预测误差的参数辨识”方法的Simulink仿真实现,属于高影响力期刊论文复现项目,旨在通过仿真手段提升系统动态响应精度与参数自适应能力。文档整合了大量典型研究案例,如LCL逆变器、扩展状态观测器(ESO)、模型预测控制(MPC)、滑模控制等,系统展示了现代控制理论在电机驱动、新能源系统与电力电子变换器中的综合应用与仿真实现路径。; 适合人群:具备电力电子、自动控制理论与Simulink仿真基础,从事电气工程、自动化、新能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 复现高水平期刊论文中的先进控制策略,掌握增量式无差拍与基于电流预测误差的参数辨识算法的设计原理与实现流程;② 学习并构建永磁同步电机、逆变器与微电网系统的Simulink仿真模型,提升建模与仿真能力;③ 深入理解现代控制算法(如MPC、滑模、自抗扰)在实际系统中的集成应用,增强科研创新能力与论文复现水平。; 阅读建议:此资源以Simulink仿真实践为核心,建议读者结合具体案例逐步操作,重点关注控制算法模块的搭建、参数整定与仿真结果分析,并配合相关理论文献深化理解,形成“理论-仿真-优化”的闭环学习路径,从而有效支撑科研创新与学术成果转化。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧