【问题标题】:Measuring distance between two shapes测量两个形状之间的距离
【发布时间】:2014-03-25 17:13:13
【问题描述】:

我有一个项目要完成:

我们有一台发电机需要 5 分钟才能开始工作,我们有太阳能发电站, 发电机应在日落 5 分钟前启动并在日出时关闭,

但由于细胞和太阳之间总是有云层,我们需要发明一些装置来估计可见云层到太阳的距离,并计算这些云层覆盖太阳之前的时间以发送信号到发电机启动器前 1 分钟到达电池和太阳之间。

我的想法是安装太阳跟踪器并在上面安装一个摄像头,这样我就可以将太阳置于图像的中心,然后我可以进行一些自动分析来估计每个云的风险遮住太阳。

但是因为云没有标准的形状,所以几乎不可能计算出两个形状(太阳、云)之间的距离。

从将太阳置于相机视线中心的想法出发,我可以做些什么来使用来自相机的帧来计算太阳和云之间的距离?

P.S:相机有一个网络访问界面,具有逐帧广播功能(JPG 帧),我是PHP 程序员(但仍然对任何其他编程语言建议持开放态度)。

编辑: 正如@Nicky Smits 的回答,这个过程是我必须测量两帧之间的距离差以了解该云的速度并计算它到达图片中的太阳区域。

在以下情况下,应用程序应该向某个设备发送 ping 以启动生成器:

【问题讨论】:

  • 我真的很想理解它,但你的问题对我来说不是很清楚。你能澄清一下吗?如果你这样做,我会再看看并为你修复它;)

标签: javascript php math jpeg


【解决方案1】:

如果我理解正确,你必须给电源供电。第一个是太阳能,第二个是你的发电机。发电机需要 5 分钟才能加载,并且由于您不想没有电源,因此您需要一些东西来预测您的太阳能电源何时会因云而变得无用,以便您可以相应地提前启动发电机。这beng说,有几件事你可以做。我不确定这些事情,但这些是你可以尝试的想法。

  1. 创建一个函数,在您的框架中找到相对于太阳最近出现的云。 (云是白色的,太阳是黄色的,天空是蓝色的)。在一定的时间间隔内执行此操作。如果云越来越近,您可以计算云越来越近的速度。 (您可以以每秒像素为单位执行此操作)。如果要这样做,您可以估计云遮住太阳需要多长时间。
  2. 安装紫外线传感器。云从来没有看起来那么紧凑。它里面有很多水分子,可以阻挡电磁波谱上的某些射线。我们或许可以看到大部分云,但是在我们看到的云周围,有很大一部分我们看不到,但一个传感器可以。所以,设置你的传感器,让它对准太阳。如果强度降低,以一定的速度或其他方式,您可以确定云正在靠近,以及可能需要多长时间。

祝你好运!

【讨论】:

  • 你说得对,我的朋友,你刚刚描述了我的想法,现在的问题是如何去做!我的意思是有没有任何数学方法可以使用 PHP 测量与随机区域表面(太阳、云)之间的距离?
  • 我认为你必须完全处理一个框架。根据分辨率,您必须检查很多像素。那就是我会做的。只需索引每个像素。你可以这样找到太阳的轮廓。你可以找到云的轮廓。从那里开始,它应该可以使用基本的数学技能。
【解决方案2】:

我相信使用 javascript 和 PHP 将很难解决您的问题。您说您正在考虑使用其他语言,那么我建议您研究一下 openCV(计算机视觉)。

然后使用其 java 版本进行处理 (http://www.processing.org/) 可能是快速启动和运行的最简单方法:http://ubaa.net/shared/processing/opencv/

然后,您可以混合使用这些不同的教程来获得您正在寻找的结果:

http://docs.opencv.org/master/doc/tutorials/calib3d/camera_calibration_square_chess/camera_calibration_square_chess.html#cameracalibrationsquarechessboardtutorial

http://docs.opencv.org/master/doc/tutorials/video/background_subtraction/background_subtraction.html#background-subtraction

http://docs.opencv.org/master/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier

【讨论】:

    【解决方案3】:

    除了其他好的建议外,您还可以在下面找到使用网络摄像头和 OpenCV 计算机视觉库的方法。使用这种技术,20 秒云预测的错误率为 5.5%。

    利用光流进行云跟踪,用于短期太阳预测

    提出了一种使用地面天空图像跟踪和预测云运动的方法。部分序列 天空图像,每张图像间隔一秒,大小为 640 x 480 像素,经过处理以确定时间 拍摄云到达图像或太阳中用户定义的区域。

    首先通过分割 图像基于蓝色和红色通道之间的差异,产生二进制检测图像。好功能 然后将要跟踪的对象定位在图像中,并利用 Lucas-Kanade 方法进行光流跟踪。

    从轨迹 在跟踪的特征和二值检测图像中,生成了云信号。个人的轨迹 特征用于确定有风险的云信号(通过用户定义区域或太阳的信号)。

    碰撞时间估计是根据合并这些有风险的云信号得出的。估计时间达到 40 秒,估计时间越长,估计误差越大。所提出的方法具有跟踪以不同方向和不同速度行进的云的潜力。

    http://solar-thermal.weblogs.anu.edu.au/files/2009/12/wood-bradley-2012-cloud-tracking.pdf

    【讨论】:

      猜你喜欢
      • 2013-06-12
      • 2020-04-13
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 2020-09-09
      • 2015-05-03
      相关资源
      最近更新 更多