亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用跟踪进行监视

组件和用品

Arduino 处理
× 1
Arduino UNO
× 1
相机(通用)
× 1
舵机(Tower Pro MG996R)
× 1

应用和在线服务

Arduino IDE

关于这个项目

目标跟踪是计算机视觉领域的一项重要任务。高性能计算机的激增、高质量和廉价摄像机的可用性以及对自动视频分析的日益增长的需求已经引起了人们对对象跟踪算法的极大兴趣。视频分析包括三个关键步骤:检测有趣的移动对象、逐帧跟踪此类对象,以及分析对象轨迹以识别其行为。因此,对象跟踪的使用与以下任务相关:

1. 基于运动的识别,即基于步态的人体识别,自动物体

检测等;

2. 自动化监控,即监控现场以检测可疑活动或

不太可能发生的事件;

3. 视频索引,即多媒体中视频的自动标注和检索

数据库;

4. 人机交互,即手势识别、眼球追踪数据

输入到计算机等;

5. 流量监控,即实时收集流量统计数据,引导流量。

6. 车辆导航,即基于视频的路径规划和避障功能。在最简单的形式中,跟踪可以定义为估计图像平面中对象在场景中移动时的轨迹的问题。换句话说,跟踪器为视频不同帧中的跟踪对象分配一致的标签。此外,根据跟踪域的不同,跟踪器还可以提供以对象为中心的信息,例如对象的方向、区域或形状。

该项目是关于实时物体检测和跟踪方法,我们使用闭路电视摄像机从监控室的摄像机观看范围内识别和跟踪目标。除了软件跟踪外,该系统还将使用安装在激光上的机械臂跟踪场景中的物体。机械臂的工作方式是通过其平移-倾斜运动覆盖视频帧中的每个坐标。

CAD 文件链接-

代码

  • mouse_drag_fina_larduino_workinh_code.ino
  • facetracking_procesing_final_code.pde
  • mouse_drag_fina_larduino_workinh_code.ino
mouse_drag_fina_larduino_workinh_code.inoArduino
这是将鼠标坐标传输到arduino并根据鼠标指针位置调整伺服的处理代码
/////////////////// 处理代码/ //////////////////////////////import processing.serial.*;import processing.video.*;import java.awt .*;import gab.opencv.*;Capture video;OpenCV opencv;Serial Com7; float fpan,ftilt;int pan,tilt, x, y;int[] inBytes =new int[3];void setup(){size(500,500);String portName =Serial.list()[0]; Com7 =new Serial(this, portName, 9600);视频 =新捕获(这个,640/2,480/2); opencv =new OpenCV(this, 640/2, 480/2); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE);视频开始(); //Com7 =new Serial(this, Serial.list()[1], 9600);背景(0,0,0);椭圆(宽度/2,宽度/2,10,10);}空画(){比例(2); opencv.loadImage(视频); noFill();中风(0, 255, 0);行程重量(3);图像(视频,0, 0);矩形 [] 面孔 =opencv.detect(); println(faces.length); for (int i =0; i 0){ inBytes[0] =inBytes[1]; inBytes[1] =inBytes[2]; inBytes[2] =Com7.read(); if(inBytes[2] ==255){ println(inBytes[0] +" , " + inBytes[1]); //背景(0,0,0); //ellipse(width - inBytes[0]*width/180,inBytes[1]*width/180,10,10);}} }void captureEvent(Capture c) { c.read();}
facetracking_procesing_final_code.pdeArduino
此代码跟踪查看范围内的人脸
///////////////////// 处理代码////////////// /////////////////import processing.serial.*;import processing.video.*;import java.awt.*;import gab.opencv.*;Capture video; OpenCV opencv;Serial Com7; float fpan,ftilt;int pan,tilt, x, y;int[] inBytes =new int[3];void setup(){size(500,500);String portName =Serial.list()[0]; Com7 =new Serial(this, portName, 9600);视频 =新捕获(这个,640/2,480/2); opencv =new OpenCV(this, 640/2, 480/2); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE);视频开始(); //Com7 =new Serial(this, Serial.list()[1], 9600);背景(0,0,0);椭圆(宽度/2,宽度/2,10,10);}空画(){比例(2); opencv.loadImage(视频); noFill();中风(0, 255, 0);行程重量(3);图像(视频,0, 0);矩形 [] 面孔 =opencv.detect(); println(faces.length); for (int i =0; i 0){ inBytes[0] =inBytes[1]; inBytes[1] =inBytes[2]; inBytes[2] =Com7.read(); if(inBytes[2] ==255){ println(inBytes[0] +" , " + inBytes[1]); //背景(0,0,0); //ellipse(width - inBytes[0]*width/180,inBytes[1]*width/180,10,10);}} }void captureEvent(Capture c) { c.read();}
mouse_drag_fina_larduino_workinh_code.inoArduino
这是伺服运动的arduino代码
#include  byte inBytes[3];Servo panservo;Servotiltservo;int panangle =90;int pitchangle =90;void setup(){Serial.begin(9600);panservo.attach(9);tiltservo.attach(11);}void loop(){if(Serial.available()> 0){inBytes[0] =inBytes[1];inBytes[1] =inBytes[2 ];inBytes[2] =Serial.read();if(inBytes[2] ==255){ Serial.write(inBytes,3); panangle =inBytes[0];倾斜角 =inBytes[1];panservo.write(panangle);倾斜伺服.写(倾斜);} } }
打开 CV 库进行处理
安装此库以使此代码工作https://github.com/atduskgreg/opencv-processing

定制零件和外壳


制造工艺

  1. C# 使用
  2. 使用 LabVIEW 的树莓派温度曲线
  3. 使用树莓派远程监测天气
  4. SensorTag 到 Blynk 使用 Node-RED
  5. Raspberry Pi Ball 跟踪
  6. 使用 Raspberry Pi 的运动传感器
  7. 自动视觉对象跟踪
  8. 使用 Raspberry Pi 和 Bridge Shield 的机器人
  9. 使用 Raspberry Pi 的 Wifi 控制机器人
  10. C# - 字符串
  11. 确定动态对象跟踪精度
  12. 将铣床用作车床