tutorial para descargar opencv

para - opencv python



Diferencia de tipos de OpenCV Mat (1)

Cx parte Cx muestra el número de canales en una imagen. Es decir, la imagen de tipo CV_64FC1 es una imagen simple en escala de grises y tiene solo 1 canal:

image[i, j] = 0.5

Mientras que la imagen de tipo CV_64F3 es una imagen en color con 3 canales:

image[i, j] = (0.5, 0.3, 0.7)

(en C ++ puede verificar píxeles individuales como image.at<double>(i, j) )

CV_64F es lo mismo que CV_64FC1 . Entonces, si solo necesita una matriz 2D (es decir, un solo CV_64F ), puede usar CV_64F

EDITAR

Más generalmente, el nombre de tipo de un objeto Mat consta de varias partes. Aquí hay un ejemplo para CV_64FC1 :

  • CV_ - esto es solo un prefijo
  • 64 - número de bits por elemento de matriz base (por ejemplo, valor de píxel en imagen en escala de grises o elemento de un solo color en imagen BGR)
  • F - tipo del elemento base. En este caso, es F para float, pero también puede ser S (firmado) o U (sin signo)
  • Cx : número de canales en una imagen como señalé anteriormente

¿Cuáles son las diferencias entre los tipos de cv::Mat OpenCV?

Para ser más específicos, ¿cuál es la diferencia entre CV_64F y CV_64FC1 o CV_64FC2 ? ¿Cuál debo usar cuando estoy creando un objeto cv::Mat que tendrá valores double ?