在ARM210单片机开发板程序上用QT编写的程序显示LogitechC270p摄像头采集的图像,一直滚屏

linux(6)
摄像头在liunx上的QT显示和OK6410 ARM开发板上的使用
&时间: 16:56:09
Ubuntu10.04
arm linux OS: 3.0.1
arm上 qt-4.7.1
g++ / gcc 4.4.3
arm-linux-g++ / arm-linux-gcc 4.3.2
简单思路:&先在ubuntu上实现,再移植ARM上实现。
在开始之前,先聊聊我辉煌的摄像头选择之路吧。
linux上特别是ARM上对摄像头的使用有一定的要求,并不像Windows上随便买一个插上去就可以使用的。由于咱做的是上层应用,对嵌入式了解还甚少,所以不能更深层地从底层驱动去讲解摄像头方面的知识。就把咱了解到的简单总结一下吧。
也许开发板商家有配对的摄像头模块可以选用,但考虑到价格和通用性,决定放弃这方面的选择。(新手慎重,虽然我也是新手)
比较通用的就是咱常用的USB摄像头,但这里面的选取也有些讲究,玩linux图像采集处理的人一般都知道V4L2(video 4 linux 2),是针对UVC免驱USB设备编程框架,主要用于采集USB摄像头等【1】,具体资料可以查询“百度百科”。(庆幸)现在市面上很多摄像头的输出格式都是UVC,这里可以查看到你的摄像头是否符合V4L2【2】&。
我所使用的摄像头是“现代V26”(这是我从垃圾堆里翻出来的,应该有一定年代了,分辨率是640*480的,编程时使用的是320*240,其他的具体不详,图片是网上搜索的,原因是拍照太麻烦)
我这个摄像头经过后期测试,证明是可以使用的(请看下文)。但又出现一个问题,ubuntu上使用是非常流畅的,但在ARM上使用就非常卡,图片显示实时性要延时2秒左右,相当蛋疼,这怎么搞图像实时处理?
由于后期做视觉处理肯定得用到opencv,那就是说我要处理的是IplImage格式的图像,也就是得做UVC到IplImage的转换,这怎么搞呀,难道真得走UVC转QImage转IplImage这样的流程?
网上查询说有直接输出JPEG格式的摄像头,这样就不用转换,直接处理输出,速度会有很大提升。最后找到了“中星微ZC301”,最后也买了两个(这张是用现代V26自拍的)
蛋疼时刻又开始了,首先这个摄像头输出的确实是JPEG格式,但像素低,而且还要自己上驱动(这是老版摄像头的标志性行为),购买时,淘宝店主说在linux2.6能够正常使用,我说我用的是arm linux3.0.1,店主建议我买回来试试,我一下子花费几十大洋买了两个(JPEG格式的太难找了,看到这个我已经无法自控两眼冒尿了,哪还考虑能不能用呀)。
到手之后,苦B的我赶紧测试,在ubuntu上测试成功(高兴的手舞足蹈),在ARM板上测试,段错误,失败,段错误,再失败,失败,一脸盆的失败!询问淘宝店主,不予技术帮助,找飞凌,电话一辈子都在忙,论坛好几天没回应。网上寻求帮忙,一大堆的废话,无非就是换系统,或者就是改驱动,这不是欺负我上层应用出身吗?,哎,多方寻求无果,颓了。
难道真要我从linux3.0降到2.6吗???这不行,动作太大了,这牵扯的东西太多,很多东西都得重新做。(这是我接触ARM来感觉最为蛋疼的东西,只要某些东西版本一改动,很多东西都得跟着动,更何况这是系统版本呀!!!)
实在没办法,居于我现在能力有限,只能痛下决心,放弃JPEG摄像头,使用UVC摄像头。
至此,摄像头选择完毕!
上面废话了这么多,现在来这是说说实现过程吧。
1、先确保UVC输出格式的USB摄像头是可以使用的,飞凌提供了一个testcam.c的检测程序,可以在ok6410-b 的linux3.0.1版本使用,可以在&这里下载&效果如下图所示:
运行效果:
2、下来就结合QT,实现摄像头的界面显示。
再次,特别感谢这位长相喜人的仁兄帖子《Linux下用QT打开摄像头并显示》【3】&只要把它帖子显示的5个部分代码保存成相应的文件,然后编译即可实现他所说的功能。我的工程文档可以&在此下载。编译使用流程如下:
1)在帖子中复制代码,保存成相应文件;
2)在终端中进入相应文件夹,运行命令:
# qmake -project&& & (生成工程文件)
# qmake&& & (生存Makefile文件)
# make&& & (编译工程)
# ./qtcamera&& & &(运行程序)
如下图所示:
运行结果:
ok,ubuntu上运行没有问题,下来就移植到ARM上运行。
3、把qtcamera程序移植到ARM上,流程如下:
1)在帖子中复制代码,保存成相应文件;
2)把processImage.cpp文件里的摄像头设备名称修改为 /dev/video2 (具体什么名称,可以到arm板子的 /dev 目录里看看,再具体修改)
3)在终端中进入相应文件夹,运行命令:
# qmake-arm -project&& & (生成工程文件,注意你是否编译安装有qmake-arm)
# qmake-arm& & &(生存Makefile文件)
# make&& & (编译工程)
在ARM上运行命令如下:
# ./qtcamera -qws&& & &(运行程序)
如下图所示:
运行结果:
4、ok,摄像头在liunx上的QT显示和OK6410 ARM开发板上的使用至此就完结了。
Good Luck!
再次附上源码下载地址:
1、飞凌提供的OK6410B摄像头测试程序下载
2、qtcamera_PC(Linux下用QT打开摄像头并显示)
3、qtcamera_ARM(OK6410B用QT打开摄像头并显示)
【1】百度百科《V4L2》&/view/5494174.htm
【2】Linux UVC driver and tools&http://www.ideasonboard.org/uvc/
【3】《Linux下用QT打开摄像头并显示》http://www.oschina.net/code/snippet_9
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:37623次
排名:千里之外
转载:45篇
(1)(4)(10)(9)(3)(1)(1)(3)(13)(2)网站已改版,请使用新地址访问:
qtv4l 用qt编写的v4l视频采集程序,适用于Linux下摄像头驱动的测试。 Video Capture 捉/
238万源代码下载-
&文件名称: qtv4l
& & & & &&]
&&所属分类:
&&开发工具: Unix_Linux
&&文件大小: 18 KB
&&上传时间:
&&下载次数: 49
&&提 供 者:
&详细说明:用qt编写的v4l视频采集程序,适用于Linux下摄像头驱动的测试。-v4l
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&qt+v4l视频采集\Makefile&&..............\qt_v4l.c&&..............\qt_v4l.c.bak&&..............\qt_v4l.cpp&&..............\qt_v4l.cpp.bak&&..............\qt_v4l.h&&..............\qt_v4l.h.bak&&qt+v4l视频采集
&[]:纯粹是垃圾
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 在FC4下,能够显示usb摄像头捕获的视频,并显示系统当前时间,我自己写的,已验证通过.
&[] - qt的摄像头采集程序,十分好用,qt的摄像头采集程序,十分好用,qt的摄像头采集程序,十分好用,
&[] - 基于QT的网络摄像头监控程序 ZC301摄像头测试成功~!
&[] - 在Linux下编写的,用于截取视频图像的一个小程序,像素320*240的,环境:摄像头是OV9650,内核Linux2.6.30.4,yaffs文件系统,天嵌开发板。
&[] - arm s3c2440下 用爱迪生工具调试的320X234的图象采集显示程序。
&[] - Qt实现视频采集.其中把yuv格式转换成了RGB,方便Qt处理。
&[] - linux系统下USB摄像头视频采集,学习linux很好de 的例子,...
&[] - qt的摄像头采集程序,十分好用,qt的摄像头采集程序,十分好用,qt的摄像头采集程序,十分好用,交叉编译写好的应用程序
进入到目录中,建立一个文件夹,把应用程序的源代码放在此文件夹目录下。然后按以下步骤交叉编译程序:
&O&&&&&&&&
&O&&&&&&&&
&O&&&&&&&& 修改文件:;还有看、项是否有重复的;还有编译规则中是否也有重复的规则,有则删除
&O&&&&&&&&
复制可执行文件到目录下
将步骤一生成的可执行二进制文件复制到目录下。
自定义应用程序的桌面文件()
桌面文件内容包括:应用程序的说明、执行程序、程序图标、类型和名称。例如,
文件内容格式如下:
将创建的应用程序的桌面文件代码保存到目录下。
为应用程序添加图标
选择一个图片作为应用程序的图标,然后把此图标复制到目录下。
制作包含应用程序的文件系统映像
使用命令将加入应用程序的文件系统制作成文件系统映像,命令如下:
使用盘将文件系统映像复制到机
&O&&&&&&&& 挂载盘
&O&&&&&&&& 复制步骤五中的文件系统映像
&O&&&&&&&& 卸载盘
(注:卸载之前一定不要进入目录,否则卸载不成功,也就不能复制成功)
七、使用工具将文件系统映像烧写到中
阅读(...) 评论()&>&&>&开发技术&>&硬件开发&>&linuxQT在ARM开发板运用摄像头
linuxQT在ARM开发板运用摄像头
上传大小:2KB
linuxQT编写好的摄像头程序,在ARM开发板运用
综合评分:3.8(19位用户评分)
所需积分:
下载个数:64
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有7条
值得参考,感谢楼主分享!
我用的ubuntu不能用。
有参考价值。
我用的Altera SOC不能用
好资源 不错的选择
如楼上所说是C的v4l2
和QT没关系
审核通过送C币
常用视频转换IC资料
创建者:tel
Moubus学习例程
创建者:tox33
Altium Designer Release
创建者:chengdong1314
上传者其他资源上传者专辑
linuxQT平台远程摄像头
linuxQT文本接收
c语言学生的成绩统计
c语言两个字符串的连接
c语言加减乘除的运用简单易懂
开发技术热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
linuxQT在ARM开发板运用摄像头
会员到期时间:剩余下载个数:
请勿使用迅雷下载
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
VIP年卡全年1200个资源免积分下载
请勿使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
xiaobailong_yu
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:

我要回帖

更多关于 linux开发板 下载程序 的文章

 

随机推荐