一叶屋檐 2023-06-01 13:53 采纳率: 100%
浏览 8
已结题

如何processing代码编写定位追踪特定人

我初步掌握processing代码追踪特定像素颜色,还能识别并编号多个物体。但是,对于定位追踪特定人或特定物,还没有切实的解决办法?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-01 17:44
    关注
    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/392458
    • 你也可以参考下这篇文章:(九)利用processing展示简单函数的使用
    • 除此之外, 这篇博客: 【Processing学习笔记】安装与入门中的 2.开始动手写第一个程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 选择java环境来学习processing。作为java下的一个巨大分支,processing遵循java语法,并可以涵盖一系列工具库来拓展自身能力。processing原生的库包含了形状、颜色、控制等15类功能函数, 可以用这些函数来定义我们想要的图形和颜色、图像位置和组合、随时间的运动方式从而组合出一系列绚丽多彩的艺术作品。

      首先先从简单的几何图形开始绘制,学习并体会processing的功能。

      //Draw a line
      line(0,0,100,100);   //注意加英文分号
      

      在编辑器中输入上面的代码,并点击运行按钮,就可以看到一条直线已经被画出来啦!
      在这里插入图片描述
      上面代码中我们使用了第一个函数line(x1,y1,x2,y2),分别输入起始和终止点的xy坐标,这个函数会在两点间绘制一条线。(注意:这里的坐标单位都是像素pixel,左上角为原点

      那么再来画一个

      //Draw a circle
      ellipse(50,50,80,80);
      

      在这里插入图片描述
      需要指出的是,圆是一种特殊的椭圆,只要指定长轴和短轴相同即可。上面的函数ellipse(centerX,centerY, width, height),中需要输入圆心坐标xy和对应的长宽。比如我们来个椭圆:

      //Draw a circle
      ellipse(50,50,100,80);
      

      在这里插入图片描述

      再来画个矩形

      //draw a rectangle
      rect(10,10,50,50)
      

      在这里插入图片描述
      其中函数rect(leftupprX,leftupperY,width,height),需要输入左上角坐标和对应的宽高。

      画个三角形

      //draw a triangle
      triangle(0,0,50,20,100,10)
      

      在这里插入图片描述
      函数triangle(x1, y1, x2, y2, x3, y3),输入三角形的三个顶点即可绘制。

      四边形也是可以的:

      //draw a quadrilateral polygn
      quad(8, 31, 86, 20, 69, 83, 30, 76);
      

      在这里插入图片描述
      函数quad(x1, y1, x2, y2, x3, y3,x4,y4)顺序写入四个点的xy坐标即可。

      当然,画一个像素点也是可以的

      //draw point
      point(30,20)
      

      在这里插入图片描述

      但是,美中不足的是上面画出的颜色太灰暗了,我们能不能修改下背景/颜色呢?
      接下来就需要学习如何改变背景的颜色,隆重引入void setup()

      为了将我们的背景设置为我们喜欢的颜色,需要使用一个全局的配置函数setup()来进行对我们的绘图窗口进行设置。它可以指定我们窗口的大小、背景颜色、图形边界等等各种指标。

      void setup()
      {
      	size(100, 100);    //设置画布大小
      	background(#FFF0DB);  //background(r,g,b)
      }
      
      void draw()
      {
        triangle(0,0,100,0,100,100);
        fill(#6acfb1);
      }
      

      在这里插入图片描述
      比刚才漂亮多了。在上面的代码里,有三个知识点需要注意:
      a.void setup()表示我们定义了一个设置函数,由于它的作用只是设置,没有返回任何值,所以用void来定义它的属性;
      b.size(width,height)定义了画布的尺寸background(rgb/hexcolor)定义了背景颜色,可以是rgb形式、十六进制形式也可以加alpha通道;
      c.void draw()定义了一个绘图函数这里面包含的代码是绘图时使用的。我们首先绘制了一个三角形,而后用fill(rgb/hex)填充了对应的颜色。

      上面图中的画出绿色三角形有一个黑边不太好看,我们可以在绘图前加上去除边缘的命令noStroke():

      void setup()
      {
      	size(100, 100);    //设置画布大小
      	background(#FFF0DB);  //background(r,g,b)
      }
      
      void draw()
      {
        noStroke();
        triangle(0,0,100,0,100,100);
        fill(#6acfb1);
      }
      

      在这里插入图片描述

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月10日
  • 已采纳回答 6月2日
  • 创建了问题 6月1日

悬赏问题

  • ¥15 有人会用py或者r画这种图吗
  • ¥15 MOD04_3K图像预处理
  • ¥15 [VASP]关于超胞大小和k 点网格的收敛性测试
  • ¥15 pip下载paddle2onnx离谱错误
  • ¥60 db2move nlzxams import 导出db2备份数据报错
  • ¥15 关于#python#的问题:全文总结功能咨询
  • ¥15 俄罗斯方块中无法同时消除多个满行
  • ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
  • ¥15 psfusion图像融合指标很低
  • ¥15 银河麒麟linux系统如何修改/etc/hosts权限为777