久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7569|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

攝像頭二值化 STM32 ov7670源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:152163 發(fā)表于 2017-8-2 20:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
攝像頭二值化 STM32 ov7670

單片機(jī)源程序如下:
  1. #include "sys.h"
  2. #include "usart.h"               
  3. #include "delay.h"        
  4. #include "led.h"
  5. #include "usmart.h"
  6. #include "lcd.h"
  7. #include "ov7670.h"
  8. #include "exti.h"
  9. #include "timer.h"
  10. //ALIENTEK Mini STM32開發(fā)板擴(kuò)展實驗9
  11. //攝像頭實驗
  12. extern u8 ov_sta;        //在exit.c里面定義
  13. extern u8 ov_frame;        //在timer.c里面定義
  14. //更新LCD顯示
  15. void camera_refresh(void)
  16. {
  17.         u32 j,i=0;
  18.          u16 color;
  19.     u16 x[320],y[240],m,n;  
  20.     u16 Xmin,Xmax,Ymin,Ymax;        
  21.         if(ov_sta==2)
  22.         {
  23.                 LCD_Scan_Dir(U2D_L2R);                //從上到下,從左到右
  24.                 LCD_SetCursor(0x00,0x0000);        //設(shè)置光標(biāo)位置
  25.                 LCD_WriteRAM_Prepare();     //開始寫入GRAM        
  26.                  OV7670_CS=0;         
  27.                  OV7670_RRST=0;                                //開始復(fù)位讀指針
  28.                 OV7670_RCK=0;
  29.                 OV7670_RCK=1;
  30.                 OV7670_RCK=0;
  31.                 OV7670_RRST=1;                                //復(fù)位讀指針結(jié)束
  32.                 OV7670_RCK=1;  
  33.                 for(j=0;j<76800;j++)
  34.                 {
  35.                         GPIOB->CRL=0X88888888;                  
  36.                         OV7670_RCK=0;
  37.                         color=OV7670_DATA;                //讀數(shù)據(jù)
  38.                         OV7670_RCK=1;         
  39.                         color<<=8;                                          
  40.                          OV7670_RCK=0;
  41.                         color|=OV7670_DATA;                //讀數(shù)據(jù)                  
  42.                         OV7670_RCK=1;
  43.                         GPIOB->CRL=0X33333333;
  44.             if(color<25000)
  45.             {
  46.                 color=0x0000;
  47.                 m=j%320;
  48.                 n=j/320;
  49.                 if(i==0)
  50.                 {
  51.                     x[i]=m;
  52.                     y[i]=n;
  53.                     Xmin=m;
  54.                     Xmax=m;
  55.                     Ymin=n;
  56.                     Ymax=n;
  57.                     i++;                    
  58.                 }
  59.                 x[i]=m;
  60.                 y[i]=n;
  61.                 if((x[i]-x[i-1])<50&&(y[i]-y[i-1])<50)
  62.                 {
  63.                     if((x[i]<315)&&(x[i]>5)&&(y[i]<235)&&(y[i]>5))
  64.                     {                        
  65.                         if(x[i]>Xmax)
  66.                             Xmax=x[i];
  67.                         if(x[i]<Xmin)
  68.                             Xmin=x[i];
  69.                         if(y[i]>Ymax)
  70.                             Ymax=y[i];
  71.                         if(y[i]<Ymin)
  72.                             Ymin=y[i];
  73.                         i++;
  74.                     }
  75.                 }                              
  76.             }
  77.             else
  78.                 color=0xFFFF;                     
  79.                         LCD_WR_DATA(color);         
  80.                 }
  81.         POINT_COLOR=RED;
  82.         LCD_DrawRectangle(Xmin,Ymin,Xmax,Ymax);        
  83.                  OV7670_CS=1;                                                         
  84.                 OV7670_RCK=0;
  85.                 OV7670_RCK=1;
  86.                 EXTI->PR=1<<15;                     //清除LINE8上的中斷標(biāo)志位
  87.                 ov_sta=0;                                        //開始下一次采集
  88.                  ov_frame++;
  89.                 LCD_Scan_Dir(DFT_SCAN_DIR);        //恢復(fù)默認(rèn)掃描方向                                                     
  90.         }
  91. }         
  92. int main(void)
  93. {        
  94.         u8 i;        
  95.         delay_init();                     //延時函數(shù)初始化
  96.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級分組2
  97.         uart_init(9600);
  98.         OV7670_Init();        
  99.         LED_Init();                                  //初始化與LED連接的硬件接口
  100.         LCD_Init();                                   //初始化LCD
  101.         if(lcddev.id==0X6804||lcddev.id==0X5310||lcddev.id==0X5510||lcddev.id==0X1963) //強(qiáng)制設(shè)置屏幕分辨率為320*240.以支持3.5寸大屏
  102.         {
  103.                 lcddev.width=240;
  104.                 lcddev.height=320;
  105.         }
  106.         usmart_dev.init(72);        //初始化USMART        
  107.         
  108.          POINT_COLOR=RED;//設(shè)置字體為紅色
  109.         LCD_ShowString(60,50,200,200,16,"Mini STM32");        
  110.         LCD_ShowString(60,70,200,200,16,"OV7670 TEST");        
  111.         LCD_ShowString(60,90,200,200,16,"ATOM@ALIENTEK");
  112.         LCD_ShowString(60,110,200,200,16,"2014/3/27");           
  113.         LCD_ShowString(60,130,200,200,16,"Use USMART To Set!");         
  114.           LCD_ShowString(60,150,200,200,16,"OV7670 Init...");         
  115.         while(OV7670_Init())//初始化OV7670
  116.         {
  117.                 LCD_ShowString(60,150,200,200,16,"OV7670 Error!!");
  118.                 delay_ms(200);
  119.             LCD_Fill(60,150,239,166,WHITE);
  120.                 delay_ms(200);
  121.         }
  122.          LCD_ShowString(60,150,200,200,16,"OV7670 Init OK");
  123.         delay_ms(1500);                              
  124.         TIM3_Int_Init(10000,7199);                        //TIM3,10Khz計數(shù)頻率,1秒鐘中斷                                                                          
  125.         EXTI15_Init();                                                //使能定時器捕獲
  126.         OV7670_Window_Set(10,174,240,320);        //設(shè)置窗口         
  127.           OV7670_CS=0;                                                         
  128.          while(1)
  129.         {        
  130.                  camera_refresh();        //更新顯示         
  131.                  if(i!=ov_frame)                //DS0閃爍.
  132.                 {
  133.                         i=ov_frame;
  134.                         LED0=!LED0;
  135.                  }
  136.         }           
  137. }

復(fù)制代碼
所有資料51hei提供下載:
擴(kuò)展實驗9 攝像頭實驗.rar (377.9 KB, 下載次數(shù): 141)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:222119 發(fā)表于 2017-8-5 16:41 | 只看該作者
正需要二值化的程序,謝謝
回復(fù)

使用道具 舉報

板凳
ID:225534 發(fā)表于 2017-8-7 16:44 | 只看該作者
程序很好
回復(fù)

使用道具 舉報

地板
ID:226390 發(fā)表于 2017-8-10 09:21 | 只看該作者
二值化之后怎么讀他的數(shù)據(jù)啊
回復(fù)

使用道具 舉報

5#
ID:257307 發(fā)表于 2017-12-8 18:11 | 只看該作者
為什么我二值化之后LCD不刷新了

回復(fù)

使用道具 舉報

6#
ID:278640 發(fā)表于 2018-1-22 16:11 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報

7#
ID:359434 發(fā)表于 2018-6-26 15:53 | 只看該作者
謝謝LZ
回復(fù)

使用道具 舉報

8#
ID:473192 發(fā)表于 2019-7-15 17:23 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

9#
ID:371387 發(fā)表于 2019-7-29 09:55 | 只看該作者
樓主,我想知道,這一段有什么用
m=j%320;
                n=j/320;
                if(i==0)
                {
                    x[i]=m;
                    y[i]=n;
                    Xmin=m;
                    Xmax=m;
                    Ymin=n;
                    Ymax=n;
                    i++;                    
                }
                x[i]=m;
                y[i]=n;
                if((x[i]-x[i-1])<50&&(y[i]-y[i-1])<50)
                {
                    if((x[i]<315)&&(x[i]>5)&&(y[i]<235)&&(y[i]>5))
                    {                        
                        if(x[i]>Xmax)
                            Xmax=x[i];
                        if(x[i]<Xmin)
                            Xmin=x[i];
                        if(y[i]>Ymax)
                            Ymax=y[i];
                        if(y[i]<Ymin)
                            Ymin=y[i];
                        i++;
                    }
                }  
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩精品久久 | 欧美一区二区三区 | 亚洲不卡av在线 | 久久99视频精品 | 午夜成人免费电影 | 波多野结衣一区二区三区在线观看 | 伊人网站 | 成人免费在线小视频 | 一级黄色毛片免费 | 国产成人99久久亚洲综合精品 | jlzzjlzz国产精品久久 | 欧美成视频| 毛片免费视频 | 91精品国产综合久久精品图片 | 欧美一区二区三区四区在线 | 97人人干 | 欧美影院 | 999精品网 | 午夜在线观看视频 | 国产精品久久久久久久久久三级 | 国产精品亚洲成在人线 | 成年免费大片黄在线观看岛国 | 精品99爱视频在线观看 | 成人日韩精品 | 国产精品国产三级国产aⅴ无密码 | 一区二区精品在线 | 国产一区二区精华 | 亚洲天堂精品久久 | 亚洲午夜视频在线观看 | 国产精品一区二区在线播放 | 欧美精品一区三区 | 黄色片在线看 | 日韩一区二区黄色片 | 免费激情网站 | 美女视频h | 人人爽日日躁夜夜躁尤物 | 国产成人一区二区 | 国产日韩精品一区 | 久久人| 一区二区免费在线观看 | 久久久久久成人网 |