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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3330|回復(fù): 0
收起左側(cè)

飛思卡爾小車攝像頭組圖像識(shí)別程序

[復(fù)制鏈接]
ID:446814 發(fā)表于 2018-12-15 16:48 | 顯示全部樓層 |閱讀模式
包含圖像二值化

單片機(jī)源程序如下:
  1. /*!
  2. *     COPYRIGHT NOTICE
  3. *     Copyright (c) 2013,山外科技

  4. *
  5. *     除注明出處外,以下所有內(nèi)容版權(quán)均屬山外科技所有,未經(jīng)允許,不得用于商業(yè)用途,
  6. *     修改內(nèi)容時(shí)必須保留山外科技的版權(quán)聲明。
  7. *
  8. * @file       main.c
  9. * @brief      山外K60 UD版平臺(tái)主程序
  10. * @author     山外科技
  11. * @version    v6.0
  12. * @date       2016-09-25
  13. */
  14. #include "include.h"
  15. #include "motor.h"
  16. #include "camera.h"
  17. #include "servo.h"
  18. #include "image_process.h"
  19. #include "menu.h"
  20. #include "flash.h"
  21. #include "ultrasonic.h"
  22. #include "switch.h"
  23. #include "bluetooth.h"
  24. #include "isr.h"
  25. uint8 cnt;



  26. #if defined CAR_1

  27. #define VSYNC_  PTD17
  28. #define HREF_   PTD16
  29. #define PCLK_   PTD18

  30. #endif
  31. /*
  32. #if defined CAR_2

  33. #define VSYNC_  PTC17 //PTD14
  34. #define HREF_   PTC16 //PTD13
  35. #define PCLK_   PTC18 //PTD12

  36. #endif
  37. */
  38. volatile Image gImage;//(60,10)

  39. //! 初始化攝像頭
  40. inline static void CameraInit()
  41. {
  42.     IICWriteGpio_inintOV();//初始化設(shè)置SCCB引腳
  43.     while (ov7725_probe() == 0)//初始化寄存器
  44.         ;
  45.     ov7725_set_image_size(IMAGE_SIZE);//設(shè)置圖像大小

  46.     CameraSetImageBuffer(gImage);
  47.     CameraInterruptInit();//中斷初始化
  48. }

  49. //! 撥碼開(kāi)關(guān)的值
  50. volatile float switch_val = 0;

  51. typedef void (*func_t)(void);
  52. volatile
  53. float k, b;
  54. float SpeedDiffCoeff2(float servoduty)
  55. {
  56.     return k / 1000 * fabsf(servoduty) + b;
  57. }

  58. void PortEHandler(void)
  59. {
  60.     PORT_FUNC(E, 27, nrf_handler);
  61. }
  62. void main()
  63. {
  64.     SwitchInit();
  65.     switch_val = GetSwitchValue();
  66.    
  67.     led_init(LED0);
  68.     led_init(LED1);
  69.     led_init(LED2);
  70.     led_init(LED3);
  71. //    switch ((int)switch_val)
  72. //    {
  73. //    case 0:
  74. //        break;
  75. //    case 1:
  76. //        ((func_t)(80 * 0x400 + 0x411))();
  77. //        break;
  78. //    case 2:
  79. //        ((func_t)(150 * 0x400 + 0x411))();
  80. //        break;
  81. //    default:
  82. //        break;
  83. //    }
  84.    
  85. //    while(!nrf_init())                  //初始化NRF24L01+ ,等待初始化成功為止
  86. //    {
  87. //        led(LED0, LED_ON);
  88. //    }
  89.     led(LED0, LED_OFF);
  90.     set_vector_handler(PORTE_VECTORn, PortEHandler);
  91.     NVIC_EnableIRQ(PORTE_IRQn);

  92.     led(LED0, LED_OFF);
  93.     led(LED1, LED_OFF);
  94.     led(LED2, LED_OFF);
  95.     led(LED3, LED_OFF);
  96.     //LoadFlashData(switch_val);
  97.     SpeedCountInit();//編碼器速度
  98.     OLED_Init();
  99.     CameraInit();
  100.     ServoInit();
  101.     MotorInit();
  102.     MenuInterruptInit();
  103.    
  104.   //  BluetoothInit();
  105.     enable_irq(DMA4_IRQn);
  106.    
  107.     CameraGetImage(gImage);
  108.    
  109.     for (;;)
  110.     {
  111.         CameraWait();
  112.         ExtractArray(imgbuff, (uint8_t const (*)[10])gImage);//得到bool型(60,80)型數(shù)組imgbuff
  113.         CameraGetImage(gImage);
  114.         ImageProcess(imgbuff);//圖像處理




  115.                
  116.         //SpeedControl();

  117. //if(cnt==0)
  118. //        roundabout0();
  119. //if(cnt==1)
  120. //        roundabout1();
  121. //if(cnt==2)
  122.         //roundabout2();



  123.                
  124.         ServoControl();
  125.         motor_run();
  126.         if (gMenuQueryImage)//菜單oled??
  127.         {
  128.                 memcpy(gOledImageBuffer, gImage, DATALINE * DATACOUNT);
  129.                 gMenuQueryImage = 0;
  130.         }
  131.          
  132.       

  133. #if 1
  134.         //BluetoothSend();
  135. #else
  136.         /* pid debugging code */
  137.         int16_t iSpeedL = speed_l;
  138.         int16_t iSpeedR = speed_r;
  139.         
  140.         uart_putchar(UART0, 0x03);
  141.         uart_putchar(UART0, 0xFC);
  142.         uart_putbuff(UART0, (void *)&iSpeedL, sizeof iSpeedL);
  143.         uart_putbuff(UART0, (void *)&iSpeedR, sizeof iSpeedR);
  144.         uart_putchar(UART0, 0xFC);
  145.         uart_putchar(UART0, 0x03);
  146. #endif
  147.     }
  148. }
復(fù)制代碼

所有資料51hei提供下載:
可跑1.1.7z (1013.65 KB, 下載次數(shù): 65)



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色天使在线视频 | av片免费观看 | 在线成人免费视频 | 亚洲爱爱网 | 免费看黄网 | 黄色小视频在线免费观看 | 中文字幕在线免费观看 | 男女裸体无遮挡做爰 | 性久久| 九九色综合 | 免费一区二区三区 | 欧美三级又粗又硬 | 一级片在线观看视频 | 中文字幕亚洲欧美 | 国产午夜免费 | 欧美三根一起进三p | 日本一级大毛片a一 | 欧美在线播放视频 | a在线免费观看 | 毛片91 | 中文字幕精品在线观看 | 欧美中文字幕在线观看 | av网在线观看 | 国产成人av一区二区三区在线观看 | 久久久噜噜噜 | 精品精品 | 国产精品久久久久久99 | 精品久久久久久久久久久久久 | 亚洲一级免费视频 | 国产一级片网站 | 亚洲综合在线一区 | 国产区一区二区 | 久久久久久久影院 | 精品亚洲国产成人av制服丝袜 | 欧美综合网 | 黄色大片网站 | 日韩毛片免费看 | 欧美成人午夜 | 黄色大片免费在线观看 | 日韩国产在线播放 | 黄色日批视频 |