c++ - una - tipos de generadores eolicos
¿Cómo encontrar el ángulo formado por las palas de una turbina eólica con respecto a un eje imaginario horizontal? (1)
Una granja eólica ideal tendrá todas las turbinas girando con el mismo ángulo de cuchilla *, de manera similar. Las palas de diferentes turbinas giran a velocidades variables. Como resultado de esto, el ángulo de la cuchilla para cada aerogenerador es diferente. Considerando un caso de 4 aerogeneradores, cada uno a 100 metros de distancia y formando un ángulo de cuchilla de ө1, ө2, ө3 y ө4, podemos usar OpenCV para monitorear los ángulos de la cuchilla de cada turbina mediante el uso de algoritmos adecuados de visión por computadora y teniendo en cuenta tenga en cuenta la distancia, la ubicación y otros factores de la WebCam utilizados para monitorear el mismo. La idea es obtener un valor preciso de los ángulos de la hoja formados.
* Ángulo de la cuchilla (aquí) : el ángulo formado entre la primera cuchilla y un eje horizontal imaginario, medido en sentido antihorario.
Espero que esto brinde claridad.
En OpenCV, tengo la siguiente metodología planificada-
Obtenga imagen / marco: use la detección de bordes astutos: use líneas de Hough para transformarlas para encontrar líneas, reconozca líneas de cuchillas, encuentre ángulos de hoja, vaya al siguiente cuadro.
Mi problema aquí es que no sé cómo reconocer solo las líneas de la hoja después de encontrar las líneas de Hough. Sé que las líneas probables de Hough devolverán ''líneas'', es decir, los puntos finales de todas las líneas detectadas. Pero entonces, ¿cómo sé qué líneas pertenecen a las cuchillas? Otro problema que enfrento es cómo exactamente debería hacer una línea horizontal imaginaria a través del cubo para medir el ángulo de la hoja.
Otro enfoque: básicamente, lo que quiero es sincronizar la rotación y encontrar el ángulo de la hoja para este propósito. Otra forma de hacer esto puede ser: utilizar la resta de fondo, buscar y dibujar los contornos de las 4 turbinas. Considere una turbina como referencia. Compare los contornos de todas las otras turbinas encontradas con la referencia y encuentre la diferencia en ángulos de cada cuchilla. Pero, ¿cómo puedo comparar y encontrar los diferentes ángulos entre ellos? Cualquier fragmento de código será útil.
¿Tienes alguna idea sobre esto? Soy un principiante completo en el uso de openCV y agradecería cualquier ayuda. Muchas gracias.
Editar: Una referencia aproximada al ángulo de preocupación ө1 es el ángulo de la cuchilla aquí:
Otra referencia al ángulo, considerando que la línea no pasa por las cuchillas:
Aquí está el flujo del proceso que tenía en mente:
- Como su cámara es estática, puede definir regiones para recortar (submatriz) y detectar bordes solo en estas regiones para aplicar
Houghtransform
. - Como conoce la longitud exacta de las cuchillas (debido a la cámara estática), puede restringir las
Houghlines
a la longitud de las cuchillas. - Después de obtener las
Houghlines
, necesita obtener la línea promedio entre dos líneas (casi paralelas) (creo que los bordes de la hoja no son paralelos, por lo que son más gruesos en la base y se vuelven más delgados) - para obtener la línea central exacta de una cuchilla. - Luego puede obtener un vector de la cuchilla, por (endPoint - startPoint).
- Ahora solo necesita calcular los
arcos
del producto escalar del vector y un vector de línea horizontal (1,0): este es su ángulo entre la cuchilla y la línea horizontal.