找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6324|回复: 2
收起左侧

STM32图像处理 RGB转灰度转二值化资料与程序源码

[复制链接]
ID:382452 发表于 2018-10-21 10:15 | 显示全部楼层 |阅读模式
这是一个STM32 图像处理 RGB转灰度转二值化的DEMO
0.png

单片机源程序如下:
  1. #include <stm32f10x.h>
  2. #include <stdio.h>
  3. #include <Nvic_Exit.h>
  4. #include <delay.h>
  5. #include <tft.h>
  6. #include <ov7670.h>
  7. #include<I2C.h>

  8. typedef enum {TRUE = 0, FALSE = !TRUE} bool;

  9. void RCC_Configuration(void);
  10. void IO_Init(void);
  11. void CLK_generate(void);

  12. main()
  13. {
  14.         RCC_Configuration();;//系统时钟设置
  15.         delay_init(72);                //延时初始化
  16.         GPIOA->ODR ^= (1 <<3);                                                //LED1闪烁一次          
  17.         LCD_Init();
  18.         IO_Init();
  19.         LCD_Clear(BLUE);       //清屏
  20.         POINT_COLOR=YELLOW;
  21.         BACK_COLOR=BLUE;
  22.            LCD_ShowString(20,50,"QF Welcom");
  23.         LCD_ShowString(20,100,"STM32 Camera");
  24.         LCD_ShowString(20,150,"OV7670 Initing......");
  25.         InitI2C0();
  26.         while(1!=Cmos7670_init());   //CMOS初始化       
  27.         Exit_Init(GPIOC, GPIO_Pin_4, GPIO_Mode_IPU, EXTI_Trigger_Falling, 2, 5);        //VSYNC                

  28.           while(1)
  29.         {                                 

  30.         }
  31. }

  32. /*******************************************************************************
  33. * Function Name  : RCC_Configuration
  34. * Description    : RCC select(external 8MHz)
  35. * Input          : NO
  36. * Output         : NO
  37. * Return         : NO
  38. *******************************************************************************/
  39. void RCC_Configuration(void)
  40. {

  41.   ErrorStatus HSEStartUpStatus;
  42.   RCC_DeInit();
  43.   RCC_HSEConfig(RCC_HSE_ON);   
  44.   HSEStartUpStatus = RCC_WaitForHSEStartUp();

  45.   if(HSEStartUpStatus == SUCCESS)          
  46.   {
  47.   
  48.     RCC_HCLKConfig(RCC_SYSCLK_Div1);  
  49.     RCC_PCLK2Config(RCC_HCLK_Div1);                  
  50.         RCC_PCLK1Config(RCC_HCLK_Div2);                   
  51.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  52.     while(RCC_GetSYSCLKSource() != 0x08)          
  53.        {
  54.        }
  55.      }

  56.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
  57. }
  58.     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);       
  59.     RCC_PLLCmd(ENABLE);
  60.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)          
  61.        {
  62.        }

  63. void CLK_generate(void)
  64. {
  65.         GPIO_InitTypeDef GPIO_InitStructure1;
  66.         RCC_ClocksTypeDef RCC_Clocks;          
  67.         GPIO_InitStructure1.GPIO_Pin = GPIO_Pin_8;
  68.         GPIO_InitStructure1.GPIO_Mode = GPIO_Mode_AF_PP ;
  69.         GPIO_InitStructure1.GPIO_Speed = GPIO_Speed_50MHz;
  70.         GPIO_Init(GPIOA, &GPIO_InitStructure1);         
  71.         RCC_GetClocksFreq(&RCC_Clocks);  
  72.         RCC_MCOConfig(RCC_MCO_HSE);   

  73. }

  74. void IO_Init(void)
  75. {

  76.           RCC->APB2ENR|=1<<0;
  77.         RCC->APB2ENR|=1<<2;
  78.         RCC->APB2ENR|=1<<3;
  79.         RCC->APB2ENR|=1<<4;

  80.            GPIOA->CRH=0X33333333;
  81.         GPIOA->CRL=0X33333333;
  82.         GPIOA->ODR=0XFFFF;         

  83.         GPIOB->CRL=0X88888888;
  84.         GPIOB->CRH=0X33333333;
  85.         GPIOA->ODR=0XFFFF;

  86.            GPIOC->CRH=0X33333333;
  87.         GPIOC->CRL=0X33333333;        
  88.         GPIOC->ODR=0XFFFF;       
  89.                     
  90.            JTAG_Set(JTAG_SWD_DISABLE);         //JTAG功能禁止,复用JTAG端口
  91. }
复制代码

所有资料51hei提供下载:
OV7670摄像头模块带FIFO+STM32开发板驱动+单片机驱动摄像头模组.rar (3.98 MB, 下载次数: 141)
回复

使用道具 举报

ID:495391 发表于 2019-4-4 17:11 | 显示全部楼层
可以分享吗
回复

使用道具 举报

ID:55420 发表于 2020-5-16 17:31 | 显示全部楼层
学习一下,目前学习0V5640,自己也想实现一下
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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