登录
注册
一键加入QQ群
友善之臂官方网站
首 页
联系我们
淘宝店铺
维基教程
固件下载
资料汇总
搜索帖子!
NanoPC 系列:
NanoPC-T2
NanoPC-T3 Plus
NanoPC-T4
NanoPC-T6
NanoPC-T6 Plus
NanoPi 系列:
NanoPi-NEO
NEO Core
NEO Air
M1 Plus
Duo2
NEO3
NEO4
M4B
M5
M6
M6V2
核心板:
Smart4418
Core4418
Smart6818
Core6818
SOM-RK3399V2
CM3588
CM3588 Plus
迷你R系列:
NanoPi-R1
R1S
R2S
R2S Plus
Zero2
R3S
R76S
R4S
R5S
R5C
R6C
R6S
热门版块:
开发板销售中心
开发板硬件讨论区
硬软DIY及开发
嵌入式交流与讨论
友友粉丝快线
Ubuntu技术交流区
默认风格
用户中心首页
编辑个人资料
查看个人资料
好友列表
用户权限查看
积分管理
积分转换
特殊组购买
收藏夹
我的主题
基本统计信息
到访IP统计
管理团队
管理统计
在线统计
会员排行
版块排行
帖子排行
个人首页
我的收藏
好友近况
Linux技术交流区
QT4.7USB摄像头图像采集问题!
友友粉丝快线
开发板销售中心
嵌入式最新资讯
友善之臂最新动态
友善之臂官方客服中心
开发板实战手册及教程
应用方案和定制开发
NanoPi 交流与讨论
NanoPi 玩家交流区
ROM发布区
硬软DIY及开发
嵌入式交流与讨论
Android技术交流区
Linux技术交流区
U-boot技术交流区
WinCE技术交流区
Ubuntu技术交流区
裸机程序和微型OS
OpenWRT讨论区
开发板硬件讨论区
相关资料下载及使用技巧
站点服务
二手交易区
我的论坛我的贴
站务管理与公告
上一主题
下一主题
新 帖
主题 : QT4.7USB摄像头图像采集问题!
复制链接
|
浏览器收藏
|
打印
沈阳宝石
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
51790
精华:
0
发帖:
4
金钱:
20 两
威望:
4 点
综合积分:
8 分
注册时间:
2011-07-07
最后登录:
2012-03-01
楼主
发表于: 2011-07-07 15:29
只看楼主
|
小
中
大
QT4.7USB摄像头图像采集问题!
我用QT4.7开发ZC301USB摄像头图像采集应用程序,在PC机上运行程序动态显示与图像采集均正常,但是移植到ARM开发板上摄像头初始化无法通过。
开发环境与代码如下,请高手指点迷津!
PC机环境:redhat,linux内核版本2.6.29,QT4.7.0
ARM开发板环境:友善Linux2.6.32,QT4.7.0
程序代码如下,红色字体为移植到开发板后无法通过的部分,
ioctl(fd, VIDIOC_CROPCAP, &cropcap))这条语句在开发板上运行始终返回为-1
:
int VideoDevice::init_device()
{
v4l2_capability cap;
v4l2_cropcap cropcap;
v4l2_crop crop;
if(-1 == ioctl(fd, VIDIOC_QUERYCAP, &cap))
{
if(EINVAL == errno)
{
emit display_error(tr("%1 is no V4l2 device").arg(dev_name));
}
else
{
emit display_error(tr("VIDIOC_QUERYCAP: %1").arg(QString(strerror(errno))));
}
return -1;
}
printf( "driver=%s,card=%s,businfo=%s\nversion=%x,cap=%x\n"
"res:%x,%x,%x,%x\nVIDIOC_QUERYCAP=%x\n",
cap.driver,cap.card,cap.bus_info,cap.version,cap.capabilities,
cap.reserved[0],cap.reserved[1],cap.reserved[2],cap.reserved[3],VIDIOC_QUERYCAP);
if(!(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE))
{
emit display_error(tr("%1 is no video capture device").arg(dev_name));
return -1;
}
if(!(cap.capabilities & V4L2_CAP_STREAMING))
{
emit display_error(tr("%1 does not support streaming i/o").arg(dev_name));
return -1;
}
CLEAR(cropcap);
cropcap.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
printf( "VIDIOC_CROPCAP=%x\n",VIDIOC_CROPCAP);
if(0 == ioctl(fd, VIDIOC_CROPCAP, &cropcap))
{
CLEAR(crop);
crop.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
crop.c = cropcap.defrect;
if(-1 == ioctl(fd, VIDIOC_S_CROP, &crop))
{
if(EINVAL == errno)
{
// emit display_error(tr("VIDIOC_S_CROP not supported"));
}
else
{
emit display_error(tr("VIDIOC_S_CROP: %1").arg(QString(strerror(errno))));
return -1;
}
}
}
else
{
emit display_error(tr("12VIDIOC_CROPCAP: %1").arg(QString(strerror(errno))));
//return -1;
}
…………
}
ioctl(fd, VIDIOC_QUERYCAP, &cap)这条语句可以读回摄像头信息,在PC机和ARM板上打印的信息如下:
pc上运行摄像头驱动信息:
driver=zc301,
card=ZX301[P] PC Camera,
businfo=usb-0000:00:1d.0-2
version=10005,
cap=5000001
res:0,0,0,0
arm上运行摄像头驱动信息:
driver=zc3xx,
card=PC Camera,
businfo=usb-s3c24xx-1.2
version=20700,
cap=5000001
res:0,0,0,0
查了很多资料也没能找到解决办法,无奈之余发帖寻求帮助,请大家指点!
另外,用友善提供的qtopia-20100108中USB摄像头测试程序,我的摄像头可以采集到图像,说明内核驱动也没有问题!
[ 此帖被沈阳宝石在2011-07-07 15:37重新编辑 ]
顶端
回复
引用
分享
haolms
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
45643
精华:
0
发帖:
3
金钱:
15 两
威望:
3 点
综合积分:
6 分
注册时间:
2011-05-06
最后登录:
2012-06-02
1楼
发表于: 2012-05-05 15:52
只看该作者
|
小
中
大
请问你在PC上ZC301是怎么驱动的?
顶端
回复
引用
分享
tb_3613050
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
88326
精华:
0
发帖:
11
金钱:
55 两
威望:
11 点
综合积分:
22 分
注册时间:
2013-03-07
最后登录:
2013-03-23
2楼
发表于: 2013-03-11 09:47
只看该作者
|
小
中
大
小弟是个学生 也是正在研究这个qt下的 视频采集程序 能否 把源码 给小弟看看 。 拜托了 万分感激
顶端
回复
引用
分享
上一主题
下一主题
Linux技术交流区
http://121.40.142.80
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问