zoukankan      html  css  js  c++  java
  • BAYER格式转RGB格式硬件实现

    图像采集的功能一般用CCD和CMOS传感器来实现,但是这两种图像传感器在一个像素上智能采集RGB颜色的一个分量,为了获得最佳的图像效果,需要3个图像传感器分别采集不同的颜色分量,一般的拜尔模型如下图所示,系统中用到的模型如图中红框内所示,

    摄像头时钟是:74.25Mhz,像素是1920*1080

    以每个2*2的方阵为一个单位,由于人眼对绿光比较敏感,所以有两个绿色像素,一个红色像素和一个蓝色像素

    在用硬件实现时,标记一个x和一个y,每个有效像素过后x进行一个翻转,每个有效行之后y进行一个有效翻转。这样就可以得到一个2*2的矩阵,构成一个基本的像素矩阵。

    设计了一个5*5的矩阵,实现代码如下:o_pix_data[DATA_SIZE*(i+1)-1:DATA_SIZE*i] <= mem_r[(mem_wsel_s+LINE_SIZE-i)>=LINE_SIZE?mem_wsel_s-i:mem_wsel_s+LINE_SIZE-i]

    五行数据一次排开,从最高位依次排到最低位。根据输出的行不同,排列顺序不同。当前输入的行永远在最低位。其中mem_r存储的数据对应于当前输入位。存储 到第5行数据的时候开始输出。

    剩余的四行数据依次由低位到高位输出

    如果当前输入是mem_wsel_s为0时,最低位数据为第一行,然后是第五行,然后是第四行,然后是第三行,然后是第二行

    如果当前输入是mem_wsel_s为1时,最低位数据是第二行,然后是第一行,然后是第五行,然后是第四行,然后是第三行

    依次排列。。。。。。

    每次输出的数据做四个时钟的延时,就可以得到一个5*5的矩阵。然后对这个5*5像素点中间的3*3矩阵进行两个时钟的延时得到两个

    处理后的数据是从第四行开始有效的

    对每个像素进行插值,由GBGB.......得到RGBRGB....,经过了十六次的对边求和运算,然后再根据新的到的像素值再进行一次对边求和运算,8次运算。得到一个3*3的RGB全像素矩阵(中心的像素值通过延时得到没有做插值处理)

    然后利用得到的新的RGB像素值减去该3*3像素点本身像素点的值(延时得到),就可以得到一个新的像素值。

    根据当时输出像素点的值,再由新得到的3*3矩阵进行一个不同的插值计算,就可以得到该点的RGB像素值。

  • 相关阅读:
    Proj THUDBFuzz Paper Reading: The Art, Science, and Engineering of Fuzzing: A Survey
    Proj THUDBFuzz Paper Reading: A systematic review of fuzzing based on machine learning techniques
    9.3 付费代理的使用
    11.1 Charles 的使用
    第十一章 APP 的爬取
    10.2 Cookies 池的搭建
    10.1 模拟登录并爬取 GitHub
    11.5 Appium 爬取微信朋友圈
    11.4 Appium 的基本使用
    11.3 mitmdump 爬取 “得到” App 电子书信息
  • 原文地址:https://www.cnblogs.com/mebey/p/9210661.html
Copyright © 2011-2022 走看看