基于ARM的Bayer图像转RGB系统及方法与流程

文档序号:19485611发布日期:2019-12-21 03:47阅读:1541来源:国知局
基于ARM的Bayer图像转RGB系统及方法与流程

本发明涉及图像处理技术领域,具体为一种基于arm的bayer图像转rgb系统及方法。



背景技术:

图像信息是人类观察世界的直接来源,占人类感知信息的百分之八十以上,合成高质量图像一直是学术界的研究热点。为了折中考虑成本成像质量,bayer型的传感器横空出世,为了降低成本,每个像素只采集一个通道的分量,这就对恢复算法提出了极高的要求。通过优良的插值算法可以极大程度的恢复出彩色信息,因此bayer插值算法也一直是学术界的研究重点之一。并且随着小型化、低功耗、高效率的以arm(advancedriscmachines)为代表的微处理器的发展,对图像处理设备便携化,小型化,实时性的要求就越来越高,并成为图像处理领域的一种趋势。



技术实现要素:

本发明的目的是:针对当前以dsp(digitalsignalprocessor)平台为主流的bayer转rgb方法成本相对较高,且灵活性较差的问题,提出一种基于arm的bayer图像转rgb系统及方法。

本发明为了解决上述技术问题采取的技术方案是:基于arm的bayer图像转rgb系统,包括:前端图像采集模块和后端数据处理模块:

所述前端采集模块用于控制图像传感器采集图像信息并进行采集和数据存储,再将生成的bayer格式与图片传入后端进行处理;

所述后端数据处理模块用于对前端传输来的数据进行处理,将bayer格式图像转化为rgb格式。

进一步的,所述前端图像采集模块包括:传感器控制模块、数据缓存模块和通信模块;

所述后端数据处理模块包括:后端通信模块、后端缓存模块、数据处理模块和显示控制模块;

所述传感器控制模块用于控制前端的图像传感器进行数据的采集,所述数据缓存模块用于将传感器的数据储存并处理为bayer格式数据,所述通信模块主要用于控制spi总线进行数据的传输,将数据传给后端;

所述后端通信模块用于与前端通信并交换数据,所述后端缓存模块用于将前端的信息储存等待下一步处理,所述数据处理模块用于bayer转rgb,所述显示控制模块主要用于控制显示屏显示处理后的视频流。

进一步的,所述前端图像采集模块执行如下步骤:

s1:对处理器的时钟参数进行初始化;

s2:利用sccb协议对图像传感器进行初始化;

s3:处理器接收到传感器控制模块传来的图像信号后在数据缓存模块中将其进行缓存,等待数据通信模块取用;

s4:数据通信模块在传输完毕前一帧图片后调用数据缓存模块中的数据进行传输。

进一步的,所述数据处理模块执行如下步骤:

w1:读取bayer图片的长度和宽度,得到去除边缘像素的数量;

w2:判断当前中心采样点的颜色,当中心采样点为红色,依据上下左右四个点的均值得到绿色分量,以中心点斜四十五度的四个点的均值求得蓝色分量,当中心采样点为蓝色时,恢复绿色和红色,绿色分量由上下左右四点分量的均值得到,红色由以中心点斜四十五度的四个点的均值得到,当中心采样点为绿色时,红色由左右的均值求得,蓝色由上下的均值求得;

w3:计算梯度矫正算子,将算子得到的值与步骤二得到的值相加,得到最终的rgb图片。

进一步的,当中心采样点为红色时,蓝色分量和绿色分量的公式如下:

其中,符号g,b分别代表绿色和蓝色分量的估计值,g和b分别代表已知的绿色和蓝色分量的值,i和j分别代表坐标值。

进一步的,当中心采样点为蓝色时,红色分量和绿色分量的公式如下:

其中,符号r,g分别代表红色和绿色的估计值,r和g分别代表已知的红色和绿色分量的值,i和j分别代表坐标值。

进一步的,当中心采样点为绿色时,红色分量和蓝色分量的公式如下:

其中,符号r,b分别代表红色和蓝色分量的的估计值,r和b分别代表已知的红色和蓝色分量的值,i和j分别代表坐标值。

进一步的,所述梯度矫正算子的公式如下:

δ为矫正算子,即梯度,q为颜色分量的估计值,q为颜色分量的值,i和j分别代表坐标值。

基于arm的bayer图像转rgb方法,包括以下步骤:

步骤一:利用图像传感器获取当前场景的视频图像;

步骤二:对获取到的视频图像在树莓派中进行bayer转rgb;

步骤三:将处理后的彩色图像由hdmi接口输出。

进一步的,所述步骤一中选择cmos图像传感器对场景的视频图像进行采集。

本发明的有益效果是:本发明通过使用成本较低的arm平台来解决成本问题,并用以qt框架编写的上位机软件来解决灵活性较差的问题。最终实现了视频图像的实时显示。

本发明主要面向的是输出bayer格式的摄像头,是以stm32加树莓派arm架构图像处理平台,相较于传统的dsp平台或fpga平台成本较高的弊端,此项发明的成本更加低廉,为成本较为敏感的大规模工业生产提供了新的选择。

现在大多数bayer转rgb的方法大多在dsp平台上实现,一旦程序写入就难以更改,而本专利提出的方法可以改变这一现状,本专利通过基于qt框架的上位机软件来随时调整插值算法,选取最适合的插值算法。本项目选取的是高质量线性插值算法,可以取得较好的插值效果。

附图说明

图1为bayer格式分布图。

图2为bayer转rgb算法的指示图。

图3为本发明硬件结构图。

图4为本发明硬件连接图。

图5为本发明控制摄像头的算法流程。

图6为本发明bayer格式图片和处理后的rgb图片示意图。

图7为本发明的上位机软件的最终实现效果示意图。

图8为本发明前端摄像头的硬件电路设计图。

图9为本发明前端摄像头的pcb设计图。

图10为本发明的程序流程图。

图11为本发明的图像采集前端流程图。

具体实施方式

具体实施方式一:参照图1至图5具体说明本实施方式,本实施方式所述的基于arm的bayer图像转rgb系统,包括:前端图像采集模块和后端数据处理模块:

所述前端采集模块用于控制图像传感器采集图像信息并进行采集和数据存储,再将生成的bayer格式与图片传入后端进行处理;

所述后端数据处理模块用于对前端传输来的数据进行处理,将bayer格式图像转化为rgb格式。

本发明基于arm的硬件处理平台搭建,可以分为图像采集前端和数据处理后端,图像采集前端采用stm32f411型arm架构处理其进行控制,利用其搭载的cmos图像传感器实现对场景的视频图像进行采集,还搭载有iic总线可以将bayer的数据格式将图像输入到arm平台中进行处理;图8为设计的图像采集前端的电路图和最终的pcb图。数据处理后端使用bcm2835型处理器,主要实现对实现bayer格式转rgb格式的算法,并通过平台上的hdmi接口将高清视频流传输到显示器显示等功能,整个系统的框图如图3所示。

本发明参考了mondriaan的图像成像模型也就是说,图像是由反射在我们眼睛上的目标上反射的光形成的,因此平面图像基本上由两部分组成,一部分是入射在可见场景上的光量,另一部分是反射光。目标在场景中。它们分别称为照度分量i(x,y)和反射分量r(x,y),其中i(x,y)由光源的特性决定,r(x,y)是从现场拍摄的。确定物理性质等,并根据不同波长的颜色而变化。根据这个模型,三个颜色通道可以表示为:

这说明不同颜色通道的差别主要是由反射率引起的,有上述公式可知对同一物质的同一位置,三色通道光强的比例是一个常数即:

基于上述简单的假设条件,在图片的小块局部邻域内,符合自然图像特性。上述比值定律被称为色比定律。色调(hue)被定义为色度信号与亮度信号的比值,cok提出,可以将人眼更敏感且采样更多的绿色当做是亮度信号,将采样较少的红色和蓝色当做色度信号,而这种选择并不是唯一的。于恢复每个采样处丢失的其他两种颜色需要使用该点周围的像素点,图2给出了分别以红色、蓝色和绿色为中心点的4种5×5窗口的bayer模块,其中g为绿色,r为红色,b为蓝色。

bayer转rgb算法的核心步骤主要是双线性插值算法,计算过程如下:

由于恢复每个采样处丢失的其他两种颜色需要使用该点周围的像素点,图2给出了分别以红色、蓝色和绿色为中心点的4种5×5窗口的bayer模块。

(1)当中心采样点为红色时,需要恢复蓝色与绿色分量。绿色分量由中心点上下左右四个绿色采样点的平均值得出,蓝色分量由中心点斜四十五度方向的四个蓝色采样点平均

(2)当中心采样点为蓝色时,需要恢复绿色和红色。公式如下:

(3)如图2(c),当中心采样点为绿色时,需要恢复红色和蓝色。则公式如下所示:

(4)如图2(d),与图2(c)类似,只是红色与蓝色的位置互换。

计算梯度矫正算子,与双线性插值法估计值相加;

其中的α(矫正系数)的计算使用维纳滤波的方法,也就是寻找最小均方误差的插值方法。维纳通过1/2的低次幂来近似维纳系数,最终可得到系数分别为1/2、5/8、3/4。最终可以得到rgb的彩色图像。δ为矫正算子,即梯度,q为颜色分量的估计值,q为颜色分量的值,i和j分别代表坐标值。

本发明的核心是基于high-qualitylinearinterpolationfordemosaicingofbayer-patternedcolorimages,byhenriques.malvar,li-weihe,androsscutler,inicassp'04。使用qt框架进行编写。

qt框架使用c++进行程序设计,c++做为一种面向对象的编程语言在软件开发上有极大的优势。其中创建类的概念为后期的维护有着至关重要的作用。在分析了流程后,本发明创建了两个新的类,分别为qbayer和qspi。其中qbayer主要实现bayer转rgb的功能,qspi主要承担与前端传感器的通信任务,将图像传感器传出的bayer格式图片转存到树莓派的内存中等待后续处理。本软件使用多线程技术,提高软件运行的速度。程序流程图如图10所示。

其中在前端图像采集模块中,使用c语言进行程序编写,使用keil开发软件进行开发,前端数据采集模块的处理器使用stm32型微控制器,作为单核处理器,程序使用简单的单线程模式。

一、首先需要对处理器的时钟等参数做初始化工作。

二、着使用sccb协议对图像传感器进行初始化使其开始工作。

三、处理器接收到传感器控制模块传来的图像信号就在数据缓存模块中将其进行缓存等待数据通信模块取用。

四、据通信模块在传输完毕前一帧图片后调用模块中的数据进行传输。

具体的算法流程如图11所示:

实施例一:

对多幅bayer图像进行计算机仿真实验,来验证测试算法的性能,

本实施例的图像来源均为采集的实际图像,含有丰富的颜色信息,符合实际应用的真实性,方便对比增强前后同一物体的图像质量变化。具体是按照以下步骤进行的:

步骤一:利用cmos图像传感器采集夜间场景的视频图像;

步骤二:将视频图像传入树莓派中进行处理;

步骤三:通过hdmi将处理过的视频和未处理过的bayer格式的视频显示出来;

仿真实验结果如图6和图7所示,由图可以看出在经过处理后,颜色恢复效果较好,符合人眼观察真实物体的情况,且处理速度相对较快,基本实现实时处理的效果。

本发明还为图像传感器设计了控制前端,如图8和图9所示。

需要注意的是,具体实施方式仅仅是对本发明技术方案的解释和说明,不能以此限定权利保护范围。凡根据本发明权利要求书和说明书所做的仅仅是局部改变的,仍应落入本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1