理想的风力发电场将使所有涡轮机以相同的叶片角*以类似的方式旋转。不同涡轮机的叶片以可变速度旋转。结果,每个风力涡轮机的叶片角都不同。考虑到4个风力涡轮机的情况,每个风力涡轮机相距100米,并形成了ө1,,2,ө3和ө4的叶片角,我们可以使用OpenCV通过使用合适的计算机视觉算法并考虑以下因素来监视每个涡轮机的叶片角:请考虑用于监视网络摄像头的距离,位置和其他类似因素。这个想法是获得形成的叶片角的准确值。
* Blade Angular 此处-第一 Blade 与假想的水平轴之间形成的 Angular ,沿逆时针方向测量。
我希望这可以澄清。
在OpenCV中,我计划了以下方法-
获取图像/帧-使用Canny边缘检测-使用霍夫线变换来查找线-识别叶片线-查找叶片角-转到下一帧。
我的问题是-我不知道在找到霍夫线之后如何仅识别 Blade 线。我知道概率性霍夫线将返回“线”,即检测到的所有线的终点。但是,我怎么知道哪些线属于 Blade 呢?
我面临的另一个问题是我应该如何精确地通过轮毂制作一条假想的水平线来测量叶片 Angular 。
另一种方法-基本上,我想要的是同步旋转并为此目的找到 Blade Angular 。实现此目的的另一种方法是-使用背景减法,找到并绘制所有4个涡轮的轮廓。以一台涡轮机为引用。将所有其他涡轮机的轮廓与引用涡轮机的轮廓进行比较,找出每个叶片 Angular 差异。但是,如何比较并找到它们之间的不同 Angular 呢?任何代码段都将有所帮助。
您对此有什么想法吗?我是使用openCV的完整入门者,希望对您有所帮助。非常感谢。
编辑:此处所涉及的 Angular ө1的粗略引用是“叶片 Angular ”:
考虑到该线没有穿过叶片,是对 Angular 另一种引用:
最佳答案
这是我想到的流程:
裁剪(submatrix)并仅在此区域中检测边缘以应用
Houghtransform
。 相机),您可以将
Houghlines
限制为Blade 。
Houghlines
后,您需要获取平均Line在两条(几乎平行)线之间(我认为叶片边缘不是
平行,所以它们在底座上更厚,在底座上变得更薄
尖端)-获得叶片的精确中心线。
起点)。
vector 和水平线 vector (1,0)-这是您的 Angular
在 Blade 和水平线之间。
关于c++ - 如何找到风力涡轮机叶片相对于水平假想轴形成的角度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42017386/