OV2640转灰度图像

2019-07-20 09:50发布

最近在做OV2640输出灰度图像,一直没有搞出来,不确定是YUV422格式转灰度,还是RGB565转灰度,原子哥在论坛回复的两次还不同,如图


还有怎么设置YUV422输出,根据探索者给的例程,是不是可以直接在OV2640_JPEG_Mode()函数里,调用YUV422输出就可以了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
li1207519730
1楼-- · 2019-07-21 23:47
 精彩回答 2  元偷偷看……
phoenix
2楼-- · 2019-07-22 03:23
li1207519730 发表于 2016-7-16 19:06
16是随便设的,3,4,8,16,32,随便找个值用RGB565测试,都能转化为灰度图像输出到LCD上,这点我也很纳闷儿 ...

//DCMI DMA配置
//memaddr:存储器地址    将要存储摄像头数据的内存地址(也可以是外设地址)
//memsize:存储器长度    0~65535
//memblen:存储器位宽    0,8位,1,16位,2,32位
//meminc:存储器增长方式,0,不增长;1,增长
void DCMI_DMA_Init(u32 memaddr,u16 memsize,u8 memblen,u8 meminc)


【1】  16是随便设的,3,4,8,16,32,随便找个值用RGB565测试,都能转化为灰度图像输出到LCD上,这点我也很纳闷儿,而且这个数据传输量到底指的是什么

这个"数据传输量"是:存储器长度

【2】  一个数据项所含的位数到底取决于什么我也一直搞不懂
取决于:存储器位宽,比如,LCD的显存位宽为16位,探索者外部SRAM位宽为:16位
742746101
3楼-- · 2019-07-22 05:58
 精彩回答 2  元偷偷看……
142zjb
4楼-- · 2019-07-22 11:20
 精彩回答 2  元偷偷看……
142zjb
5楼-- · 2019-07-22 15:46
phoenix 发表于 2016-7-9 10:47
先得让OV2640输出YUV422格式数据

有个小问题,就是二值化后的图形有“噪点”,有点像光线影响的,照全白纸张时周边有些许黑 {MOD},用手机在附近打闪光灯,黑 {MOD}噪点就消失,能不能通过程序进行优化消除噪点呢?
QMXi
6楼-- · 2019-07-22 20:59
phoenix 发表于 2016-7-9 10:47
先得让OV2640输出YUV422格式数据

这个是按照你的方法输出的YUV422图像,向纹波一样
下面这个是按照你给的公式得出的灰度图像
怎么感觉图像是花的,难道是我弄错了,下面是我的代码

u32 RGB_BUF[Width][High];       

void RGB_data_process(void)
{
        u16 i,j;
        for(i=0;i<Width;i++)
                for(j=0;j<High;j++)
                {
                         LCD_SetCursor(j,i);
                         LCD_WriteRAM_Prepare();
                         Gray =(((RGB_BUF[j]>>(8+3))<<11)|((RGB_BUF[j]>>(8+2))<<5)|((RGB_BUF[j]>>(8+3))<<0));
                         LCD->LCD_RAM = RGB_BUF[j];
                       
                }
       
}




void OV2640_YUV422_Mode(void)
{
        //éè&#214;&#195;:YUV422&#184;&#241;ê&#189;
        SCCB_WR_Reg(0xFF, 0x00);//éè&#214;&#195;:YUV422ê&#228;3&#246;
        SCCB_WR_Reg(0xDA, 0x01);//YUV422.YVYU       
       
}


DCMI_DMA_Init((u32)&RGB_BUF,RGB_BUF_Size,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);

一周热门 更多>