相当简单的问题:我想知道如何在opencv中指定矩阵的类型。我正在查看此页面https://docs.opencv.org/trunk/dc/d84/group__core__basic.html,它使用cv :: Mat1f指定浮点矩阵的typedef,依此类推。我不熟悉C ++;我可以使用他们在typedef中执行的类似操作来创建自己的uint8矩阵吗?
Mat_< uint8 > mymatrix;
或类似的东西?我可以制作自己的typedef吗?
答案 0 :(得分:0)
C ++中的标准类型是uint8_t
,即Mat_< uint8_t > mymatrix;
。您需要#include <cstdint>
。
您也可以制作自己的typedef
typedef Mat_< uint8_t > uint8_matrix_type;
或类似的东西。
答案 1 :(得分:0)
你应该使用内置的:
cv::Mat1b
在mat.hpp
中定义为:
typedef Mat_<uchar> Mat1b;
uchar
中定义了interface.h
:
//! - uchar - unsigned 1 byte integer
typedef unsigned char uchar;
您还可以typedef
使用您偏好的类型的矩阵,但可能会遇到奇怪的错误,因为DataType
(traits.hpp
}中的@WebMvcTest(HomeController.class , BookController.class)
public class ControllerTest{
不会指定,因此可能与某些OpenCV函数不兼容。