摄像头是raw10的输出,如果是yuy2则是偏蓝色,rgb565则是偏紫色。
上层PC端软件需要自己做处理。
测试如下:
test pattern:
solid color.
{ 0x4322,0x03},//B Gb R Gr all 0x03FF
{ 0x4323,0xFF},
原始数据0x03FF,amcap软件显示的像素全为:
RGB565 : RGB 0,124,248(0,01111100,11111000)
raw原始数据:
00000011 11111111
rgb565:r:00000, g:011111 ,b: 11111.
需要转化为RGB888:
0,124,248(0,01111100,11111000)
转换规则:
R7 R6 R5 R4 R3 G7 G6 G5 G4 G3 G2 B7 B6 B5 B4 B3 (r和b都经过了右移运算,舍弃了低三位的信息,g也是舍弃了低二位的信息,所以显示出的颜色能大致符合,稍有色差(实际上是对应了调色板的索引值))
00000(000) 011111(00) 11111(000)
。。。。。
pOut = ((*pIn) >> 3) | ((pIn+1)>>2); //B5+G3 (opencv是BGR的,也就是BG倒过来)
pOut =(uchar)((*pIn) >> 5) | (uchar) ((pIn + 1)<<1);//G << 1 | B >> 5 10bitraw,去掉低2bit
总结:
不能直接告诉amcap等软件 数据格式是raw data。
下位机传输的是raw数据,但告知pc端必须为 rgb565 或 yuy2等标准格式,pc端再把rgb565 或 yuy2等格式转换为raw(gray)。
将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。
RGB888-RGB565;
static void RGB2Gray(void *pInbuf, void *pOutbuf, unsigned int len)//RGB565
{
unsigned int i;
unsigned char pIn = (unsigned char)pInbuf;
unsigned char pOut = (unsigned char)pOutbuf;
for (i = 0; i < len/2; i++)//438851 G>>2 | R>>5
{
// pOut = ((*pIn) >> 3) | ((pIn+1)>>2);//B5 + G3
pOut =(uchar)((*pIn) >> 5) | (uchar) ((pIn + 1)<<1);//G << 1 | B >> 5
*(pOut+1) = *pOut;
*(pOut+2) = *pOut;
pOut += 3;
pIn += 3;
}
}

RGB565 to gray相关推荐

  1. OpenCV--矩阵操作总结

    有很多函数有mask,代表掩码,如果某位mask是0,那么对应的src的那一位就不计算,mask要和矩阵/ROI/的大小相等  大多数函数支持ROI,如果图像ROI被设置,那么只处理ROI部分  少部 ...

  2. ffplay 播放yuv视频

    播放uvc usb摄像头 ,ffplay -f rawvideo -video_size 1280x720  -pixel_format yuyv422 test.yuv pixel_format支持 ...

  3. 基于FPGA:肤色识别算法实现(OV5640摄像头+Cyclone芯片)含工程源码

    目录 前言: 一.进入正文: 二.Verilog代码实现: 前言: 肤色识别算法的Verilog代码基于FPGA 的彩色图片转灰度实现的.本文参考硅农图像处理教学文章.一个良心公众号,有很多开源技术含 ...

  4. FPGA 实现 RGB 图像转 Gray

    项目需求 这个实验主要是实现了图像灰度的转换,将原来的RGB565通过串口发送到FPGA开发板,然后通过算法转换实现数据的处理. 方案思路 首先通过串口发送图片数据到FPGA开发板,写入RAM中,最后 ...

  5. 灰度图Gray Scale Image 或是 Gray Scale Image

    1.灰度图Gray Scale Image 定义 Gray Scale Image 或是 Gray Scale Image,56阶.又称灰阶图.把白色与黑色之间按对数关系分为若干等级,称为灰度.灰度分 ...

  6. 24位深的bmp图片转换为16位深RGB565格式的bmp图片源码

    /**24位深的bmp图片转换为16位深RGB565格式的bmp图片**/ #include <iostream> #include <stdio.h> #include &l ...

  7. RGB888与RGB565颜色

    颜色名称 RGB888原色 RGB565还原色 英 RGB888[Hex] RGB888_R[Hex] RGB888_G[Hex] RGB888_B[Hex] RGB565[Hex] RGB565_R ...

  8. CUDA Samples: Image Process: BGR to Gray

    在图像处理中,颜色变换BGR到Gray,常见的一般有两种计算方式,一种是基于浮点数计算,一种是基于性能优化的通过移位的整数计算. 浮点数计算公式为: gray = 0.1140 * B  + 0.58 ...

  9. R语言ggplot2可视化分面图(facet_grid):去除分面图灰色矩形框以及框中的标签、Getting rid of facet_grid labels on those gray boxes

    R语言ggplot2可视化分面图(facet_grid):去除分面图灰色矩形框以及框中的标签.Getting rid of facet_grid labels on those gray boxes ...

最新文章

  1. ASP.NET中实现打印
  2. Random类(Java中的随机类)
  3. MariaDB 修改存储路径后启动失败问题解决
  4. 多线程相互排斥--mutex(二)
  5. 双链表的基本操作---插入,删除,交,并,相邻元素的交换,不相邻元素的交换...
  6. css 容器内 div 底部,CSS:在div容器的底部放置一個div容器
  7. Day1 - Python基础1
  8. 条款5:了解C++默默编写并调用哪些函数(Know what functions C++ silently writes and calls)...
  9. nprogress页面加载进度条
  10. L1-042 日期格式化
  11. 华为IE和思科IE哪个好?
  12. 激光共聚焦显微镜原理
  13. 外部方式启动AndroidStudio模拟器
  14. 在html5水平边距属性hspace,HTML5 常用语法一览(列举不支持的属性)
  15. 应对不断变化的世界秩序:自治资本主义
  16. cαr怎么发音_最全英语口语发音规则与技巧
  17. 使用MMDetection训练自己的数据集
  18. CONDITION EVALUATION DELTA
  19. Redis 作 mysql 的缓存服务器及redis的高可用
  20. Shell---函数

热门文章

  1. 鱼和熊掌可兼得,高定制+低成本的知识管理系统
  2. 身份证号码组成 含代码
  3. Windows定时自动关闭所有程序
  4. (一)TestNG测试框架(含Demo源码)
  5. HDFS系统上使用命令hadoop fs -rm -rf 误删文件补救
  6. git中配置.gitignore文件
  7. 设计模式之命令模式(Command)
  8. java从指定文件中删除字符串,java删除指定目录中的文件或文件夹
  9. jquery mobile_jQuery Mobile简介
  10. PHP第一个项目--HelloWorld(从安装到运行成功)