[发明专利]一种基于SSE2指令集的图像插值方法有效
申请号: | 201510301095.5 | 申请日: | 2015-06-05 |
公开(公告)号: | CN104952038B | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 张谱;路鹏;赵祖轩;王丽丽;周中亚;李润锋 | 申请(专利权)人: | 北京大恒图像视觉有限公司;中国大恒(集团)有限公司北京图像视觉技术分公司 |
主分类号: | G06T3/40 | 分类号: | G06T3/40 |
代理公司: | 北京律谱知识产权代理事务所(普通合伙)11457 | 代理人: | 黄云铎 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sse2 指令 图像 方法 | ||
技术领域
本发明涉及图像插值技术领域,尤其涉及一种基于SSE2(Streaming SIMD Extensions 2nd,单指令多数据流扩展)指令集实现的Bayer格式图像插值方法。
背景技术
在工业相机领域,一般彩色相机采用单CCD(或者CMOS)成像单元进行成像,相机直接输出Bayer格式Raw数据。这些Bayer格式Raw数据是一幅典型的马赛克图像,每个像素点只含有单个通道的像素值,需对其进行插值(去马赛克)处理后,方才可以进行其它方面的应用。
通过图像插值处理可以实现图像的放大显示,提高了图像的分辨率。插值后的图像一方面可以带来愉悦的观感,另一方面还提供图像更多的纹理细节,这些细节对图像理解和图像分析具有重要的意义。但是由于硬件性能的限制,通过数字相机采集的图像往往达不到所需的分辨率,若从硬件上进行改进则需要付出高昂的成本,这是设备采购商很难承受的,而通过软件实现图像插值处理来弥补硬件的不足则较好地解决了这个问题。
线性插值方法是用来通过软件实现提高图像分辨率的典型图像插值处理方法。
常见的线性插值方法,如双线性插值或者三次样条插值,基于空间不变模型,计算简单,效率较高,但是插值后的图像边缘模糊且有锯齿现象,严重影响插值后图像的后处理操作。为了得到更好的插值图像,新的插值算法不断被提出。
S.Vinsley提出一种边缘自适应的图像插值方法,该算法充分考虑图像的纹理方向,根据当前插值像素点的邻域判断当前区域为边缘区域或者平坦区域,然后基于边缘的方向性采用邻域像素相关性和通道像素差分进行插值,本算法的放大效果优于传统的线性插值,但是相应的复杂程度也远高于传统的线性插值算法。
当编程应用并且需要在大的数据集上执行运算时,使用循环来对数据集中的每个元素做重复,并且执行所需要的过程。在每个重复期间,在单条数据上执行单个运算。这就是所谓的单指令单数据(Single Instruction Single Data,SISD)编程。SISD通常实现起来简单,并且易于维护和复用。然而,诸如这样的循环通常效率很低,因为它们可能必须重复几千次甚至几百万次。
总之,基于图像纹理边缘检测的插值算法的复杂度高、处理实时性差且处理效率低下。
发明内容
本发明的目的是提供一种基于SSE2指令集的图像插值方法,其能够克服现有技术的计算量大和没有充分利用图像邻域相关性和图像纹理方向性的不足。通过本发明,不仅可以获得高分辨率的插值图像,还提高了处理效率,满足图像处理的实时性要求。
本发明的目的通过如下技术方案实现:
本发明提供一种基于SSE2指令集的图像插值方法,其包括:
步骤一,选择当前像素点,并将该当前像素点邻域的图像数据载入xmm寄存器;
步骤二,插值当前像素点邻域的GR行和BG行各像素点的G分量;
步骤三,输出插值后的G分量数据;
步骤四,基于插值出的G分量数据插值当前像素点邻域的GR行各像素点的B分量和R分量;
步骤五,基于插值出的G分量数据插值当前像素点邻域的BG行各像素点的B分量和R分量;
步骤六,输出插值后的BGR格式24位图像数据。
更进一步地,所述步骤二包括:
求取当前像素点在所在邻域的水平方向和垂直方向的梯度值;
根据梯度值的比较结果判定当前像素点所在邻域的纹理方向;
根据当前像素点所在邻域的纹理方向选择相关的像素点进行插值操作。
更进一步地,所述求取当前像素点在所在邻域的水平方向和垂直方向的梯度值的过程包括:
利用如下公式求取当前像素点在所在邻域的水平方向上的梯度值:
nH=nHR+nHG+nHGR+nHB
其中:nH表示当前像素点在所在邻域的水平方向梯度值;nHR表示当前像素点R在所在领域水平方向上的梯度值,nHG表示G分量在所在邻域水平方向上的梯度值,nHGR表示G分量与当前像素点R在所在邻域水平方向上的梯度值,nHB表示B分量在所在邻域水平方向上的梯度值;
利用如下公式求取当前像素点在所在邻域的垂直方向上的梯度值:
nV=nVR+nVG+nVGR+nVB
nV表示当前像素点在所在邻域的垂直方向梯度值;nVR表示像素点R在所在邻域垂直方向上的梯度值;nVG表示像素点G在所在邻域垂直方向上的梯度值;nVGR表示像素点G与像素点R在所在邻域垂直方向上的梯度值;nVB表示像素点B在所在邻域垂直方向上的梯度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大恒图像视觉有限公司;中国大恒(集团)有限公司北京图像视觉技术分公司,未经北京大恒图像视觉有限公司;中国大恒(集团)有限公司北京图像视觉技术分公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510301095.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种准确跟焦教学用具
- 下一篇:一种英语单词记忆板
- 彩色图像和单色图像的图像处理
- 图像编码/图像解码方法以及图像编码/图像解码装置
- 图像处理装置、图像形成装置、图像读取装置、图像处理方法
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
- 图像形成设备、图像形成系统和图像形成方法
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序