首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

stm32 DCMI接口CROP功能使用

stm32 DCMI接口CROP功能使用

最近使用stm32F407单片机通过摄像头采集图像进行处理,其中使用到DCMI接口CROP功能。但在网上找了很久,有用的资料不多,只能自己研究,特将自己的使用方法记录下来。

     1.如何设置CROP。
           定义:
                DCMI_CROPInitTypeDef DCMI_CROPInitStruct;
           参数设置:
               DCMI_CROPInitStruct.DCMI_CaptureCount=Width;                         //capcnt
               DCMI_CROPInitStruct.DCMI_HorizontalOffsetCount=StartX;           //hoffcnt
               DCMI_CROPInitStruct.DCMI_VerticalLineCount=Height;                 //vline
               DCMI_CROPInitStruct.DCMI_VerticalStartLine=StartY;                   //vst
               DCMI_CROPConfig(&DCMI_CROPInitStruct);
          如果要投入使用还有一条语句:
               DCMI_CROPCmd(ENABLE);
     2.前面参数中,数据手册的说明有时候容易造成理解错误,特别是CAPCNT要求是4的倍数,实际这个CAPCNT开始值是0,所以要设置的Width不是4的倍数,还得减1.
     3.另外,CAPCNT是传输的数据字节数不是像素值,而RGB565,一个像素是2个字节,因此比如我想采集的是320像素,实际这个Width=320*2-1=639
     4.如果还需要在液晶上显示的话,还得修改LCD的显示区域的参数为对应的值,我的是LCD_SetDisplayWindow(.....).

    给个我的参数值:320x240分辨率,CROP下半个屏幕:Width=639,StartX=0,Height=119,StartY=0;LCD_SetDisplayWindow(_X(0), _Y(0), 120, 320);
继承事业,薪火相传
返回列表