OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5867|回复: 5

ov2640拍摄RGB图像有横纹问题,求大神解答

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-4-17
在线时间
2 小时
发表于 2016-4-17 21:45:24 | 显示全部楼层 |阅读模式
5金钱
STM32F407+ov2640,用的给的例程改的,但是显示的图片会有条纹,像是条纹那一段左右颠倒了,是怎么回事?有没有遇到的?或者原子哥来解答一下,谢谢了
这是拍摄的图片,我拍摄的是480*360的RGB图像,在屏幕上方显示出来,会有明显的条纹。 P60410-102112.jpg

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-4-17
在线时间
2 小时
 楼主| 发表于 2016-4-17 21:51:46 | 显示全部楼层
附程序代码:
u8 ov2640_jpg_photo(u8 *pname)
{
        FIL* f_jpg;
        u8 res=0;
        u32 bwr;
        u16 i;
        u8* pbuf;
        u16* pfill = (u16*)jpeg_data_buf;

        ov2640_mode=1;
        sw_ov2640_mode();                //ÇD»»ÎaOV2640Ä£ê½
        dcmi_rx_callback=jpeg_dcmi_rx_callback;//»Øμ÷oˉêy
        DCMI_DMA_Init((u32)jpeg_buf0,(u32)jpeg_buf1,jpeg_dma_bufsize,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);//DCMI DMAÅäÖÃ(Ë«»o3åÄ£ê½)
        OV2640_RGB565_Mode();                //ÇD»»ÎaJPEGÄ£ê½
        OV2640_ImageWin_Set(0,0,1600,1200);                         
        OV2640_OutSize_Set(480,360);//ÅÄÕÕ3ß′çÎa1600*1200
        DCMI_Start();                         //Æô¶ˉ′«êä
        while(jpeg_data_ok!=1);        //μè′yμúò»Ö¡í¼Æ¬2é¼ˉíê
        jpeg_data_ok=2;                        //oöÂÔ±¾Ö¡í¼Æ¬,Æô¶ˉÏÂò»Ö¡2é¼ˉ
        while(jpeg_data_ok!=1);        //μè′yμú¶tÖ¡í¼Æ¬2é¼ˉíê
        jpeg_data_ok=2;                        //oöÂÔ±¾Ö¡í¼Æ¬,Æô¶ˉÏÂò»Ö¡2é¼ˉ
        while(jpeg_data_ok!=1);        //μè′yμúèyÖ¡í¼Æ¬2é¼ˉíê,μúèyÖ¡,2ű£′æμ½SD¿¨è¥.
        DCMI_Stop();                         //í£Ö1DMA°áÔË
        ov2640_mode=0;

        LCD_Color_Fill(0, 0, 480-1, 360-1, pfill+16);
        jpeg_data_len=0;
        OV2640_RGB565_Mode();        //RGB565Ä£ê½
        DCMI_DMA_Init((u32)&LCD->LCD_RAM,0,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);//DCMI DMAÅäÖà  
        return res;
}  

void jpeg_dcmi_rx_callback(void)
{
        u16 i;
        u32 *pbuf;
        pbuf=jpeg_data_buf+jpeg_data_len;//Æ«òÆμ½óDD§êy¾YÄ©Î2
        if(DMA2_Stream1->CR&(1<<19))//buf0ò&#209;&#194;ú,&#213;y3£′|àíbuf1
        {
                for(i=0;i<jpeg_dma_bufsize;i++)pbuf[i]=jpeg_buf0[i];//&#182;áè&#161;buf0à&#239;&#195;&#230;μ&#196;êy&#190;Y
                jpeg_data_len+=jpeg_dma_bufsize;//&#198;&#171;ò&#198;
        }else //buf1ò&#209;&#194;ú,&#213;y3£′|àíbuf0
        {
                for(i=0;i<jpeg_dma_bufsize;i++)pbuf[i]=jpeg_buf1[i];//&#182;áè&#161;buf1à&#239;&#195;&#230;μ&#196;êy&#190;Y
                jpeg_data_len+=jpeg_dma_bufsize;//&#198;&#171;ò&#198;
        }        
}
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-4-17
在线时间
2 小时
 楼主| 发表于 2016-4-17 21:53:33 | 显示全部楼层
是因为双缓冲的问题吗?但是拍摄JPG图像没问题啊,纠结啊,求解答
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-4-17
在线时间
2 小时
 楼主| 发表于 2016-4-18 08:49:07 | 显示全部楼层
求原子哥解答~~~是程序哪里出问题了吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-4-23 19:32:37 | 显示全部楼层
用我们例程有这个现象么
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2016-8-25
在线时间
13 小时
发表于 2016-9-26 13:38:29 | 显示全部楼层
楼主这个问题解决了? 我用的是原子的开发板和例程源码,现象比这个更离谱,希望一起讨论下:
http://www.openedv.com/forum.php ... p;page=1&extra=
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-9 15:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表