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

標題: stm32攝像頭顏色識別+舵機控制ov7670 [打印本頁]

作者: l1050634254    時間: 2017-8-10 12:47
標題: stm32攝像頭顏色識別+舵機控制ov7670
stm32f103,正點原子的mini板。配合ov7670,能夠進行顏色識別+舵機控制。圈出顏色范圍

代碼下載:
顏色識別+舵機控制.7z (251.09 KB, 下載次數: 779)


主程序:
  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. #include "EasyTrace.h"
  11. #include "PWM.h"

  12. //ALIENTEK Mini STM32開發板擴展實驗9
  13. //攝像頭實驗
  14. extern u8 ov_sta;        //在exit.c里面定義
  15. extern u8 ov_frame;        //在timer.c里面定義
  16. u16 r,y;
  17. //更新LCD顯示
  18. void camera_refresh(void)
  19. {
  20.         RESULT Resu;
  21.         TARGET_CONDI Condition={215,240,20,240,30,160,30,30,320,240};        //API參數  hls的閾值,識別時用的
  22.         
  23.         u32 j;
  24.          u16 color;         
  25.         if(ov_sta==2)
  26.         {
  27.                 LCD_Scan_Dir(U2D_L2R);                //從上到下,從左到右
  28.                 LCD_SetCursor(0x00,0x0000);        //設置光標位置
  29.                 LCD_WriteRAM_Prepare();     //開始寫入GRAM        
  30.                  OV7670_CS=0;         
  31.                  OV7670_RRST=0;                                //開始復位讀指針
  32.                 OV7670_RCK=0;
  33.                 OV7670_RCK=1;
  34.                 OV7670_RCK=0;
  35.                 OV7670_RRST=1;                                //復位讀指針結束
  36.                 OV7670_RCK=1;  
  37.                 for(j=0;j<76800;j++)
  38.                 {
  39.                         GPIOB->CRL=0X88888888;                  
  40.                         OV7670_RCK=0;
  41.                         color=OV7670_DATA;                //讀數據
  42.                         OV7670_RCK=1;         
  43.                         color<<=8;                                          
  44.                          OV7670_RCK=0;
  45.                         color|=OV7670_DATA;                //讀數據                  
  46.                         OV7670_RCK=1;
  47.                         GPIOB->CRL=0X33333333;                                                         
  48.                         //
  49.                         //加算法,例灰階轉換,二值化之類的
  50.                   //
  51.                         LCD_WR_DATA(color);         
  52.                 }

  53.      if(Trace(&Condition,&Resu) )                      //API
  54.                         {
  55.                                 
  56.                                 
  57.                                 LCD_Fill(Resu.x-Resu.w/2,Resu.y-Resu.h/2,Resu.x+Resu.w/2,Resu.y-Resu.h/2+1,0xf800);//u16 x,u16 y,u16 width,u16 hight,u16 Color
  58.                                 LCD_Fill(Resu.x-Resu.w/2,Resu.y-Resu.h/2,Resu.x-Resu.w/2+1,Resu.y+Resu.h/2,0xf800);
  59.                                 LCD_Fill(Resu.x-Resu.w/2,Resu.y+Resu.h/2,Resu.x+Resu.w/2,Resu.y+Resu.h/2+1,0xf800);
  60.                                 LCD_Fill(Resu.x+Resu.w/2,Resu.y-Resu.h/2,Resu.x+Resu.w/2+1,Resu.y+Resu.h/2,0xf800);
  61.                                 LCD_Fill(Resu.x-2,Resu.y-2,Resu.x+2,Resu.y+2,0xf800);
  62.                         
  63.                                   LED1=!LED1;
  64.                                   r=Resu.x;
  65.                                   y=Resu.y;
  66.                         }
  67.                         
  68.                         
  69.                
  70.                
  71.                  OV7670_CS=1;                                                         
  72.                 OV7670_RCK=0;
  73.                 OV7670_RCK=1;
  74.                 EXTI->PR=1<<15;                     //清除LINE8上的中斷標志位
  75.                 ov_sta=0;                                        //開始下一次采集
  76.                  ov_frame++;
  77.                 LCD_Scan_Dir(DFT_SCAN_DIR);        //恢復默認掃描方向                                                     
  78.         }
  79. }         
  80. int main(void)
  81. {
  82.         u16 led0pwmval;
  83.         static int t=0;         
  84.         u8 i;        
  85.         delay_init();                     //延時函數初始化
  86.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設置中斷優先級分組2
  87.         uart_init(9600);
  88.         OV7670_Init();        
  89.         LED_Init();                                  //初始化與LED連接的硬件接口
  90.         LCD_Init();                 //初始化LCD
  91.   TIM2_PWM_Init(199,7199);                      //PWM定時器設置
  92.         if(lcddev.id==0X6804||lcddev.id==0X5310||lcddev.id==0X5510||lcddev.id==0X1963) //強制設置屏幕分辨率為320*240.以支持3.5寸大屏
  93.         {
  94.                 lcddev.width=240;
  95.                 lcddev.height=320;
  96.         }
  97.         usmart_dev.init(72);        //初始化USMART        
  98.         
  99.          POINT_COLOR=RED;//設置字體為紅色
  100.         LCD_ShowString(60,50,200,200,16,"Mini STM32");        
  101.         LCD_ShowString(60,70,200,200,16,"OV7670 TEST");        
  102.         LCD_ShowString(60,90,200,200,16,"ATOM@ALIENTEK");
  103.         LCD_ShowString(60,110,200,200,16,"2014/3/27");           
  104.         LCD_ShowString(60,130,200,200,16,"Use USMART To Set!");         
  105.           LCD_ShowString(60,150,200,200,16,"OV7670 Init...");         
  106.         while(OV7670_Init())//初始化OV7670
  107.         {
  108.                   LCD_ShowString(60,150,200,200,16,"OV7670 Error!!");
  109.                   delay_ms(200);
  110.             LCD_Fill(60,150,239,166,WHITE);
  111.             delay_ms(200);
  112.         }
  113.          LCD_ShowString(60,150,200,200,16,"OV7670 Init OK");
  114.         delay_ms(1500);                              
  115.         TIM3_Int_Init(10000,7199);                        //TIM3,10Khz計數頻率,1秒鐘中斷                                                                          
  116.         EXTI15_Init();                                                //使能定時器捕獲
  117.         OV7670_Window_Set(10,174,240,320);        //設置窗口         
  118.           OV7670_CS=0;


  119.          
  120.         
  121.          while(1)
  122.         {        
  123.                  camera_refresh();        //更新顯示         
  124.                  
  125.                         printf("Resu:%d-%d\r\n",r,y);
  126.                         if(y>120)
  127.                                 t++;
  128.                 if(t==0)
  129.                         led0pwmval=188;
  130.                 else if(t==1)
  131.                         led0pwmval=190;
  132.                 else if(t==2)
  133.                         led0pwmval=194;
  134.                 else
  135.                         led0pwmval=194;
  136.                   
  137.                         
  138.                     printf("Result:%d\r\n",t);
  139.                           delay_ms(10);
  140.                           delay_ms(10);
  141.                     
  142.                      TIM_SetCompare3(TIM2,led0pwmval);        
  143.                            printf("Re:%d\r\n",led0pwmval);
  144.                
  145.                 if(i!=ov_frame)                //DS0閃爍.
  146.                 {
  147.                         i=ov_frame;
  148.                         LED0=!LED0;
  149.                         
  150.                  }
  151.         }           
  152. }

復制代碼





作者: y1887655    時間: 2017-8-10 19:45
感謝分享
作者: y1887655    時間: 2017-8-10 20:30
請問下這是什么型號的開發板啊,是stm32f407的嗎
作者: y1887655    時間: 2017-8-10 21:33
你好能加我下qq向你請教下東西嗎,關于攝像頭小球定位的,290407985,很感謝
作者: purple唯愛紫    時間: 2017-8-12 09:31
可以用嗎?

作者: sunsunsun000    時間: 2017-8-16 15:58
高手,技術nc
作者: sunsunsun000    時間: 2017-8-16 15:59
高手,技術nc
作者: leo-lopez    時間: 2017-10-19 18:59
我看看你的文件正好我缺顏色識別
作者: qwefd88    時間: 2017-11-1 07:12
頂一下
作者: fffffffffffff    時間: 2017-11-4 19:48
頂。。。。。。。。。。
作者: fffffffffffff    時間: 2017-11-5 11:32
作者能否講解一下
作者: 李家渠    時間: 2017-12-19 16:41
不能下啊
作者: yangjf    時間: 2017-12-21 10:11
不錯,下來看看,謝謝樓主
作者: 2954266506    時間: 2017-12-27 19:11
找了好久,用來學習,謝謝!
作者: 但有當時皓月在    時間: 2018-3-15 12:50
您好,我想請教一下您,Trace(&Condition,&Resu) 這個函數是在哪里讀取到了我的圖像數據呢
作者: ymx200181    時間: 2018-3-25 16:06
回答的什么呀,看不了
作者: 炭疽123    時間: 2018-3-27 19:48
作者好,我想用stm32設計一款關于攝像頭識別亮燈,小車舵機配合到亮燈旁邊,可以實現嗎?

作者: 027zcz    時間: 2018-5-24 12:29
謝謝樓主分享!!!!
作者: 磊雷雷    時間: 2018-5-25 17:38
你好這個程序程序用103VET6能跑嗎

作者: 17190187950    時間: 2018-6-21 13:47
用不了,有錯誤。
作者: yanyuwei    時間: 2018-7-1 10:21
f1系類用來控制攝像頭內存夠用嗎
作者: timyer    時間: 2018-7-7 09:47
這個圖像顯示是灰度嗎?
作者: XAB    時間: 2018-8-1 16:01
贊。。。。。。。。。。。。。。。。


作者: xsj1877578806    時間: 2018-8-1 22:32
收藏一下,學習
作者: Akon4    時間: 2018-8-8 14:06
厲害 謝謝樓主 辛苦了
作者: 979960947    時間: 2018-10-13 11:41
大家不要下
作者: xmch    時間: 2018-12-19 14:04
先感謝。。。
作者: 一顆糖    時間: 2018-12-20 10:32
謝謝樓主分享啦
作者: 1158676971    時間: 2019-4-5 22:54
感謝樓主的程序,但是有后面pwm輸出程序的話,識別容易卡主,不用的話建議去掉
作者: 1158676971    時間: 2019-4-5 23:01
感謝樓主的程序,就是有時識別時,容易卡主
作者: 犯罪級可愛    時間: 2019-4-7 15:52
這個顏色識別可以識別光源顏色嗎
就比如紅綠燈的顏色能識別嗎
作者: 薄荷味徐福記    時間: 2019-4-13 11:03
這個下載以后怎么用啊
作者: smilyD    時間: 2019-4-13 17:27
這個真不錯,下載看看。
作者: 平常心。    時間: 2019-7-28 19:02
很好用
作者: 一個土豆    時間: 2019-7-29 10:33
請問我用的是103 zet6  有哪些需要改的地方
作者: JIANGJING520    時間: 2019-8-1 19:49
剛好用上,感謝樓主
作者: lp5210    時間: 2019-8-1 21:10
請問有仿真圖嗎
作者: qwer09    時間: 2019-8-2 13:43
請問,如果是ov7620 要改哪些地方呢?
作者: JIANGJING520    時間: 2019-8-2 15:11
這個怎么移植到精英版啊
作者: ljq99040123    時間: 2019-8-7 18:28
正好寫出來不對,看看參考一下。
作者: hufeng    時間: 2019-8-12 15:14
感謝分享,看看

作者: 13702010390    時間: 2019-8-12 16:19
不錯,值得學習。
作者: jemery1030    時間: 2019-8-18 23:27
感謝分享
太讚了
作者: guoweidong    時間: 2019-9-26 07:33
為什么蜂鳴器會一直響
作者: hujj    時間: 2019-12-8 11:39
已經下載學習,謝謝樓主分享!
作者: huiweimin    時間: 2019-12-31 21:01
參考一下,看看
作者: 學習的    時間: 2020-4-24 00:20
請問這實現的是什么功能啊
作者: 從零開始bs    時間: 2020-5-20 19:14
感謝dalao分享
作者: dj3365191    時間: 2020-6-4 21:31
為什么回復的帖子都看不到呢
作者: 頭頂亮光光    時間: 2020-11-27 01:32
Ov7725可以用嘛
作者: bbpprem    時間: 2021-7-25 10:22
大佬,我想問下這個是識別什么顏色的啊
作者: Liangzhongjie    時間: 2021-11-4 21:46
y1887655 發表于 2017-8-10 20:30
請問下這是什么型號的開發板啊,是stm32f407的嗎

stm32f103,正點原子的mini板




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲激情四射 | 一道本在线观看 | 黄色a毛片| 狠狠做深爱婷婷综合一区 | 久久精品99久久久久久 | 91欧美日韩| 国产一级视频在线观看 | 99香蕉视频| 久久精品久久久久久久 | 丁香综合网 | 中文字幕日韩一区 | 一区二区三区久久 | 欧美一级片网站 | 中文字幕一区二区在线播放 | 成人aaaa| 黄色国产在线观看 | 日韩福利视频 | 在线观看国产一区 | 国产精品久久网 | 欧美在线视频一区二区 | 日韩欧美二区 | 欧美日韩黄色片 | 精品一区二区三区三区 | 国产www视频 | 欧美日韩在线一区 | 国产精品久久一区二区三区 | 午夜黄视频 | 亚洲av毛片| www.色中色| 成人激情综合网 | 成人免费看 | 日韩精品免费看 | 欧美一区二区三区在线观看 | 一级片免费播放 | 四虎在线免费视频 | 欧美xx孕妇 | 成人午夜| 成人午夜网站 | 国产一区在线观看视频 | 天天草天天射 | 日韩中文字幕在线播放 |