测量两个形状之间的距离

时间:2014-03-25 08:23:51

标签: javascript php math jpeg

我有要完成的项目:

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

但是由于细胞和太阳之间总是存在云,我们需要发明一些装置来估计朝向太阳的可见云之间的距离,并计算这个云遮住太阳发出信号之前的时间发电机启动器在它进入电池和太阳之前1分钟。

我的想法是获取太阳跟踪器并修复相机,这样我可以将太阳置于图像中心,然后我可以进行一些自动分析来估算每个云的风险遮住太阳。

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

从太阳照在相机视线中心的想法出发,我该如何使用来自相机的镜架计算太阳与云之间的距离?

P.S:相机有一个带逐帧广播功能的网络访问界面(JPG帧),我是PHP程序员(但仍然可以对任何其他编程语言提出建议)。

修改 正如@Nicky Smits所回答的那样,我必须测量两帧之间的距离差异才能知道云的速度,并计算它到达图片中的太阳区域。

Frame 1

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

Frame 2

3 个答案:

答案 0 :(得分:2)

如果我解释得对,你必须给电源供电。第一个是太阳能发电,第二个是发电机。发电机需要5分钟才能加载,而且由于您不想没有电源,您需要预测太阳能电源何时被云无法使用,这样您就可以提前启动发电机。这个beng说,你可以做一些事情。我肯定不知道这些事情,但这些是您尝试的想法。

  1. 创建一个函数,用于查找相对于帧中太阳的最近云的出现。 (云是白色,太阳是黄色,天空是蓝色)。在某个时间间隔内执行此操作。如果云越来越近,您可以计算云越来越近的速度。 (你可以以像素/秒为单位)。你可以估计,如果要做到这一点,云需要多长时间来掩盖太阳。
  2. 安装紫外线传感器。云永远不会像它看起来那么紧凑。它里面有很多水分子阻挡了电磁波谱上的某些光线。我们或许可以看到云的大部分,但是我们看到的云周围有很大一部分我们看不到,但传感器可以。因此,设置您的传感器,使其瞄准太阳。如果强度降低,以某种速度或某种程度降低,你可以决定云正在接近,以及可能需要多长时间。
  3. 祝你好运!

答案 1 :(得分:1)

我相信使用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

答案 2 :(得分:1)

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

  

使用光流进行云跟踪以进行短期太阳能预测

     

提出了一种使用基于地面的天空图像来跟踪和预测云运动的方法。部分序列   处理天空图像,每个图像间隔一秒,尺寸为640×480像素,以确定时间   用于云到达图像或太阳中的用户定义区域。

     

首先通过分割云来识别云   图像基于蓝色和红色通道之间的差异,产生二值检测图像。好功能   跟踪然后位于图像中并使用Lucas-Kanade方法跟踪光流。

     

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

     

基于合并这些有风险的云信号,产生了碰撞时间估算。当估计的时间较长时,估计误差增加,达到最多40秒的时间估计。所提出的方法具有跟踪云在不同方向和不同速度下行进的潜力。

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

相关问题