& lt; código & gt; for (x = 0; x & lt; ancho; x ++) {offset = x * nChannels; para (y2 = 35; y2 & lt; 46; y2 ++) {uchar * = datos (uchar *) (HSV & gt; imageData del + y2 * paso); r = datos [compensados + 2]; g = datos [desplazamiento + 1]; b = datos [compensación]; h [y2-35] = b; s [y2-35] = g; v [y2-35] = r; } H [10] = (h [0] + h [1] + h [2] + h [3] + h [4] + h [5] + h [6] + h [7] + h [8 h] + [9]) / 10; s [10] = (s [0] + s [1] + s [2] + s [3] + s [4] + s [5] + s [6] + s [7] + s [8] + s [9]) / 10; v [10] = (v [0] + v [1] + v [2] + v [3] + v [4] + v [5] + v [6] + v [7] + v [8] + V [9]) / 10; if ((h [10] & lt; h1 & amp; & amp; h [10] & gt; h2) & amp; & amp; (v [10] & gt; ss) & amp; & amp; (s [10] & gt; vv)) {st [x] = 1;} else {st [x] = 0;} & lt; / código de & gt; pre>
2. Determinación de los límites izquierdo y derecho de la zona de intersección.
De acuerdo con la matriz de entrada se llena dos matrices de la misma dimensión. Llame a ellos st1 y ST2. Llenado algoritmo implementado arrays ciclo en el que algunos aumentos variables linealmente si el elemento de la matriz de entrada es 1, y disminuye exponencialmente cuando el elemento considerado es igual a 0, y se registra en el siguiente elemento de la matriz st1. Para formar el ST2 matriz, la matriz de entrada se ve desde el extremo. Como resultado, las matrices ST1 y ST2 pueden ser representados gráficamente como sigue (Fig. 5)
Figura 5 - Representación gráfica de arrays st1 y st2
.
Señal útil es la más extensa área de definición de color. El ruido es pequeño falsos positivos, que pueden observarse en la figura 7. El registro coordenadas x máximo elemento gráfico rojo (ST1), es el lado derecho de una línea a través de la zona de interés. La coordenada x del elemento de máxima de los gráficos azules (ST2), es el lado izquierdo de la línea a través de la zona de interés.
Listado
& lt; código & gt; doble suma = 1; doble sum2 = 1; for (x = 0; x & lt; ancho; x ++) {if (st [x] == 1) {suma = suma + 1; st1 [x] = suma;} else {suma = suma / 1.05; st1 [x] = suma;} if (st [ancho x] == 1) {sum2 = sum2 + 1; st2 [ancho x] = sum2;} else {sum2 = sum2 / 1.005; st2 [ancho x] = sum2} } & lt; / código de & gt; pre>
Después de la formación de matrices st1 y ST2, son los elementos máximas de la matriz, y el centro calculado de la zona de intersección. Mediante la aplicación de los pasos descritos a la segunda zona de cruce, en la salida, tenemos coordenadas de puntos a través del cual el derramamiento.
La aplicación de manera común definir la zona de confianza en la siguiente trama, como en la instalación anterior no se utilizó, ya que tal método y mostró resultados aceptables de ruido en los parámetros de salida. También el uso de este método no disminuiría el uso de CPU, ya que se trata sólo con la enumeración múltiple de dos matrices con un ancho de 176 píxeles, la resolución de la totalidad de la imagen es de 176x144 píxeles.
1 OFF - izquierda dura . OFF 2 - a la izquierda . OFF 3 -. Centro OFF 4 - derecha . OFF 5 - fuertemente hacia la derecha | 1 soporte -.. Izquierda dura Párese 2 - izquierda . Párese 3 - centro . Párese 4 - derecha . Párese 5 - duro a la derecha | LEV 1 -.. Muy débil LEV 2 - débilmente . LEV 3 - medio . LEÓN 4 - fuertemente LEÓN 5 - mucho | DERECHOS 1 -.. Muy débil Regla 2 - débilmente . DERECHOS 3 -. Medio DERECHOS 4 - fuertemente Regla 5 - muy plazo de comunicación En consecuencia, estos nombres, teniendo en cuenta que los motores controlados raznotyagom mini-dirigible establecen . reglas de bloqueo:
|