OV7725+广州创龙OMAPL138开发板调试(从选型到出图像)

2023-11-22 22:59

本文主要是介绍OV7725+广州创龙OMAPL138开发板调试(从选型到出图像),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        最近项目需要做一个精巧的小设备,需要一个体积小巧,功能较强大的cpu核心板。考虑到后期开发过程中可能会遇到比较多的问题,客服给不给力也是一个重要的考虑方面。CPU的选型上,因为后期视频帧率需要达到50帧以上,而且要做视频处理,所以一般的arm(如stm32,2410)也不予考虑。有了以上指导原则,开始在各大论坛及网店搜罗符合要求的核心板,首先备选的是树莓派,最终由于以下几个方面的原因放弃了该方案:1、针对驱动开发的开放性较差(也可能是由于本人的技术不过关,呵呵);2、当时选的时候没有还没有针对树莓派的屏可以使用,尝试使用网上的方法将帧率提高,会造成偏色,CPU占用率过高等问题;3、最重要的选配摄像头使用preview的帧率只能到10帧左右,多方调试未果。后来又考虑了我们之前用的9x35的平台,由于核心板尺寸的问题,也放弃了。后来锁定了TI的omapl138的cpu,双核,运算速度也行,做简单的图像处理绰绰有余。在电商搜索基于该芯片的核心板,不是很多,就那几款。最终考虑尺寸的因素选了创龙的,其核心板大小只有两个一元硬币那么大(当然,因为尺寸小,后面做底板的时候也是累煞我们的硬件工程师,此为后话)。

        摄像头的选型,因为产品有体积的限制,所以最终需要显示的图像分辨率不是很高,但是帧率要求高,所以低分辨率,高帧率是指标。选来选去最终锁定在ov7725上,给予该sensor的摄像头电商也有不少,前前后后共有4款摄像头被我拿来试用。分别是蓝宙的,火眼的,鹰眼的,还有一个不知名的反正是一个带晶振的ov7725。因为对图像的实时性还有一点要求,所以不能带fifo,还有因为接口电路的问题(这个比较关键,后面会说),前几款摄像头在创龙OMAPL138的平台上无法使用。最后使用的是哪个不知名的ov7725.

        LCD的选型,体积还是体积,选择了一个2.2寸的分辨率为320*240,RGB+SPI接口的小屏。

        首先需要搭建开发环境,这个是现成的,OMAPL138的开发环境是CCS,这个大家都知道。虽然本人平时安装软件无数,自认不算是个高手但也差不多了,但是装CCS的时候还是出了问题,调试器不识别啊,我用的创龙自带的v3的调试器,相应的驱动也装了,必要库也装了。几番折腾未果,求助客服,通过qq远程协助,问题完美解决,这个种客服应该点赞。

        开发环境好了,其次就需要搭个程序的框架,我是拿来主义者,有现成的就用,没有现成的,改改用。我们的东西就是图像采集+视频处理,就开始在开发板提供的几千个例程中搜索(几千个例程啊,而且打开就能用……这绝对不是吹的)。最终选定了四个例程,其中创龙例程堆里的有人脸识别,ov2640,imageprocess;还有ti的vpif_loopback。规划如下,在现有平台上及例程中验证算法和处理流程,其次更改优化程序框架,再次开发目标器件的驱动和硬件,最后联调出图。首先在创龙OMAPL138的开发板上验证我们的算法和思路,例程是现成的,摄像头模块也是创龙的ov2640,这一步很顺利,验证的过程也没有出什么大问题。有几个小问题,也是创龙工程师通过qq和论坛给解决的,很及时。主要问题是在更换摄像头的过程中出现的,理论上不应该有这么多的问题,但是问题还是不少。图像出现的问题及解决办法罗列如下,没有图片见谅:

        1)图片颜色不对

        由于需要摄像头输出YUV的图像,而屏幕又是RGB的,需要做色彩空间转换,我遇到的第一个问题是没有做色彩空间转换(别拍砖),第二个问题由于我在做色彩空间转换加速的时候,表有问题,导致部分偏色,第三个问题线路问题,这也是硬件上很难确定的问题,这个问题的主要原因是摄像头接口不兼容,我们用杜邦线接的。

       2)图像有等高线

       这个是硬件接线的问题比较多一些,好好检查一下线问题一般能解决,还有线如非必要,不要太长。

      3)图像像水洗的油画一样

      这个问题困扰了好久,也问了创龙的工程师,但是最终都没有解决该问题。后来在不断的试验中发现,摄像头接口和创龙板子的接口的电阻不匹配,换了电阻,就好了。这个问题最终的解决办法可以参考一下我在www.51dsp.net的帖子。

      4)直方图不太好看

      

      据说是要调动态范围,但是ov7725怎么调,没有找到,有知道的高手,告知一下,谢谢。

      5)图像显示不完整,还闪

      说白了,这个问题是一个很弱智的问题,就是buffer的问题。

      最后出图像是这样的

      

      焦距没有对上,请忽略。

      最后列两篇神级文章供大家参考:

     CMOS图像传感器调试问题汇总(百度文库里找)

     榨干OV7725寄存器

      其次就是结合上述文章仔细看ov7725的手册,这个应该好找.

      最后,由于时间问题就写这么多,关键的问题都写到了,有不清楚的可以留言。

      PS:感谢创龙的工程师们,技术服务到位,例程丰富,解答及时。

这篇关于OV7725+广州创龙OMAPL138开发板调试(从选型到出图像)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/413524

相关文章

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采