OpenEdv-开源电子网

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

MINI STM32+OV7670能不能中值滤波

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-4-7
在线时间
3 小时
发表于 2019-4-27 13:57:59 | 显示全部楼层 |阅读模式
1金钱
1.能不能就直接对液晶显示屏上的图像进行中值滤波?
2.为什么我 设的数组u16 data[975];一旦大于1000就出不来图像或报错:内存不足?MINI板的内存这么小吗?
ps:代码用的是原子哥的光盘中OV7670的代码,就不拿出来了,我就加了一个中值滤波函数
void med_filter(u16* data, u16 width, u16 height)
{
int i,j,a,b,sum,m,n,medgray;
   u8 *tmpdata;
    memcpy((u16*)tmpdata, (u16*)data, height * width * sizeof(u16));
   for(i=1;i<height-1;i++)
  {
  for(j=1;j<width-1;j++)      
  {   int t=0;
   u8 med[9];
            for(m=i-1;m <i+2;++m)
            {
               for(n=j-1;n<j+2;++n)
                {
     med[t++]=tmpdata[m*width+n];
     
       }
             }
   for( a=0;a<5;a++)
   {  
    int min=a;
    for( b=a+1;b<9;b++)
    {
     if(med<med[min])
    {
    min=b;
    }
     }
   medgray=med[a];
   med[a]=med[min];
   med[min]=medgray;
   
   }   
  data[i*width+j]=med[4];
     LCD_Clear(WHITE);   
   LCD_WR_DATA(data[i*width+j]);
   }
   
  }
}



for(j=0;j<76800;j++)
  {
   GPIOB->CRL=0X88888888;     
   OV7670_RCK=0;
   color=OV7670_DATA;  //读数据
   OV7670_RCK=1;  
   color<<=8;      
    OV7670_RCK=0;
   color|=OV7670_DATA;  //读数据   
   OV7670_RCK=1;
   GPIOB->CRL=0X33333333;
         color_r=color&0xf800;
     color_b=color>>11;
     color>>=5;
     color_g=color&0x07e0;
     color=color_r+color_g+color_b;
   data[j]=color;     
   
   LCD_WR_DATA(color);  
  }
data[j]=color;这样写有错吗?还是要 data[j]=LCD_ReadPoint(i,j);
求大佬帮我看一下!!!!

最佳答案

查看完整内容[请看2#楼]

读屏幕,当然要read Point
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-4-27 13:58:00 | 显示全部楼层
拾叶 发表于 2019-4-28 14:00
原子哥OV7670的像数值是data[j]=color;还是data[j]=LCD_ReadPoint(i,j);

读屏幕,当然要read Point
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-4-7
在线时间
3 小时
 楼主| 发表于 2019-4-27 20:13:23 | 显示全部楼层
都没人的吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-4-28 00:42:48 | 显示全部楼层
当然是可以的,不过你要仿真找问题
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2019-4-7
在线时间
3 小时
 楼主| 发表于 2019-4-28 14:00:27 | 显示全部楼层
正点原子 发表于 2019-4-28 00:42
当然是可以的,不过你要仿真找问题

原子哥OV7670的像数值是data[j]=color;还是data[j]=LCD_ReadPoint(i,j);
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 05:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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