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, esF
para float, pero también puede serS
(firmado) oU
(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
?