在做一个简单的图像处理任务,用STM32F407 和OV2640进行图像处理的时候遇到一个矛盾的问题。OV2640有两种数据格式输出,如果用JPEG格式,可以直接通过串口发送到电脑上显示,但JPEG是经过压缩的,处理起来很复杂;如果用RGB565模式输出,可以进行处理,但无法发送到上位机进行显示,直观上无法感知处理的结果如何。
原子哥关于摄像头的代码输出RGB565格式时是直接通过DMA将数据从DCMI搬运到LCD上,整个过程都是由硬件模块完成的,难以介入;
而JPEG格式时是直接将一帧图像存到一个数组里,再一个个发送到串口,所以我可以在发送之前增加一个对像素点信息的判断并重赋值操作,这时遇到了几个问题:
①我是直接改动的JPEG模式下的代码,使摄像头输出变为了RGB565模式,但软件处理上沿用的依旧是JPEG模式下逐一发送到串口的模式,这时发现jpeg_data_len=jpeg_buf_size-DMA_GetCurrDataCounter(DMA2_Stream1);得出的数据长度并不是所有像素点的个数的两倍,而是12672
②如图,这样打开传输又关闭传输的意义是什么?
③还是上面那张图,选中的那一行的算式怎么理解
一周热门 更多>