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

相关文章

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

Python MCPInspector调试思路详解

《PythonMCPInspector调试思路详解》:本文主要介绍PythonMCPInspector调试思路详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录python-MCPInspector调试1-核心知识点2-思路整理1-核心思路2-核心代码3-参考网址

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB