OpenEdv-开源电子网

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

(小白上路)一直在捣鼓OV2640采集在LCD上的黑白图像处理,求大神帮助已经一个星期了T-T

[复制链接]

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
发表于 2017-2-20 23:05:48 | 显示全部楼层 |阅读模式
6金钱
我用F4开发板接OV2640摄像头显示在LCD上     我想把显示的图像改成非黑即白或者非白即黒。
    比如说采集到的图像是彩色的,我要把不是黑色的部分全变成白色,就是我要的那种效果不是那种手机照相机上的那种黑白(好像灰度图似的)

    求大神教教我,抓耳挠腮一个星期了...



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

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
 楼主| 发表于 2017-2-20 23:07:28 | 显示全部楼层
我觉得只要找到读数据进来或者写数据进LCD的地方,再加个IF语句就可以了,   可是一直找不着地方呀  好烦!
回复

使用道具 举报

35

主题

309

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2641
金钱
2641
注册时间
2016-8-10
在线时间
470 小时
发表于 2017-2-21 08:59:24 | 显示全部楼层
if(采集到的RGB值大于多少) RGB值等于0xffff  
else  RGB值等于0x0000
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
 楼主| 发表于 2017-2-21 10:27:54 | 显示全部楼层
huyang201306 发表于 2017-2-21 08:59
if(采集到的RGB值大于多少) RGB值等于0xffff  
else  RGB值等于0x0000

嗯。。。我一直找不到采集到的RGB值在哪里    我找不到它的位置啊T-T

(用的原子哥的例程。摄像头实验)
回复

使用道具 举报

35

主题

309

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2641
金钱
2641
注册时间
2016-8-10
在线时间
470 小时
发表于 2017-2-21 10:40:45 | 显示全部楼层
DMA初始化哪里
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
 楼主| 发表于 2017-2-21 11:11:03 | 显示全部楼层
[mw_shl_code=c,true]//DCMI DMA配置
//DMA_Memory0BaseAddr:存储器地址    将要存储摄像头数据的内存地址(也可以是外设地址)
//DMA_BufferSize:存储器长度    0~65535
//DMA_MemoryDataSize:存储器位宽  
//DMA_MemoryDataSize:存储器位宽    @defgroup DMA_memory_data_size MA_MemoryDataSize_Byte/DMA_MemoryDataSize_HalfWord/DMA_MemoryDataSize_Word
//DMA_MemoryInc:存储器增长方式  @defgroup DMA_memory_incremented_mode  /** @defgroup DMA_memory_incremented_mode : DMA_MemoryInc_Enable/DMA_MemoryInc_Disable
void DCMI_DMA_Init(u32 DMA_Memory0BaseAddr,u16 DMA_BufferSize,u32 DMA_MemoryDataSize,u32 DMA_MemoryInc)
{
        DMA_InitTypeDef  DMA_InitStructure;
       
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2,ENABLE);//DMA2时钟使能
        DMA_DeInit(DMA2_Stream1);
        while (DMA_GetCmdStatus(DMA2_Stream1) != DISABLE){}//等待DMA2_Stream1可配置
       
  /* 配置 DMA Stream */
  DMA_InitStructure.DMA_Channel = DMA_Channel_1;  //通道1 DCMI通道
  DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&DCMI->DR;//外设地址为CMI->DR
  DMA_InitStructure.DMA_Memory0BaseAddr = DMA_Memory0BaseAddr;//DMA 存储器0地址
  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;//外设到存储器模式
  DMA_InitStructure.DMA_BufferSize = DMA_BufferSize;//数据传输量
  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设非增量模式
  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc;//存储器增量模式
  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;//外设数据长度:32位
  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize;//存储器数据长度
  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;// 使用循环模式
  DMA_InitStructure.DMA_Priority = DMA_Priority_High;//高优先级
  DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; //FIFO模式        
  DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;//使用全FIFO
  DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;//外设突发单次传输
  DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;//存储器突发单次传输
  DMA_Init(DMA2_Stream1, &DMA_InitStructure);//初始化DMA Stream
       
} [/mw_shl_code]
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
 楼主| 发表于 2017-2-21 11:11:52 | 显示全部楼层

是我上面发的那段代码吗?
回复

使用道具 举报

35

主题

309

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2641
金钱
2641
注册时间
2016-8-10
在线时间
470 小时
发表于 2017-2-21 11:34:36 | 显示全部楼层
Linx 发表于 2017-2-21 11:11
是我上面发的那段代码吗?

你定义一个数组,然后再dma初始化哪里就写这个数组名就可以了
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
 楼主| 发表于 2017-2-21 13:15:15 | 显示全部楼层
我改了  结果成这样了
20170221_130516.jpg
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2017-2-20
在线时间
8 小时
 楼主| 发表于 2017-2-21 13:16:06 | 显示全部楼层
huyang201306 发表于 2017-2-21 11:34
你定义一个数组,然后再dma初始化哪里就写这个数组名就可以了

T-T成上面那样了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-24 03:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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