访问 cv::Mat 数据的 OpenCV 错误
OpenCV error for accessing cv::Mat data
对于我与允许类型一起使用的任何 Mat 类型,当我尝试执行某些分配或写入流等时,我会收到如下所示的错误。它发生在MSVC++ 2010快速编译器上,而不是在gnu g++编译器上发生。
有缺陷的用法示例:
Mat M = Mat::zeros( image.size(), DataType<int>::type );
std::cout << M.at<int>( 0,0 ) << std::endl; // error
// OR
int x = M.at<int>( 0,0 ); // error
两个错误一起触发:
在弹出窗口中
Unhandled exception at <some hex adress> in test.exe:Microsoft C++ exception: cv:xception at memory location <some hex adress>
和控制台窗口
OpenCV Error: Assertion failed ... mat.hpp, line 537
有什么建议吗?
使矩阵数据类型CV_16U
。
.at
访问器函数非常细致,需要非常精确的数据类型。 一些编译器忽略了这些问题,而另一些编译器则很早就发现了这些问题。
CV_16U
不是引用带有matrix.at<int>(row, col)
元素,而是引用unsigned short
数据类型。 因此,可以使用 matrix.at<unsigned short>(row, col)
访问这些元素。
我不相信openCV有一个int数据类型图像。
整数类型一般是CV_16s的,即16bit短,所以使用
相关文章:
- OpenCV 3 错误"CV_FOURCC":找不到标识符
- OpenCV 错误:相机校准:断言在matrix_wrap.cpp失败
- 使用 c++ 构建时出现 Opencv 错误
- OpenCV(3.4.1) 错误:断言失败(变暗 <= 2 && step[0] > 0) in cv::Mat::locateROI
- OpenCV 错误:断言失败 - 矩阵减去
- OpenCV 错误:断言在 cv::Mat 行 522 中失败
- OpenCV 错误的解决方案:不支持的格式或格式组合 - 当将 ORB 功能与 FlannBasedMatcher 匹配
- OPENCV.3.0错误:0xc0000005:访问违规读取位置0x00000000
- 在Raspberry Pi上构建时OpenCV错误
- OPENCV错误在XCode 8中加载Fisher面部识别器时
- OpenCV 错误:ERClassifierNM1 中的错误参数
- OpenCV 错误:断言失败(((((sizeof(size_t)<<28)|0x8442211)....957路
- 使用CV :: ML :: STATMODEL :: TRAIN使用KNN的OPENCV错误
- C++ / CannyEdgeDetection.exe 已停止工作 代码块 /OpenCV 错误:断言失败
- OPENCV错误在Ubuntu14.04上编译CAFFE-1.0时
- OPENCV错误:不良的参数(字节必须为16、32或64)在简介Descriptorextractorimpl中
- OPENCV错误:未指定的错误(未实现该函数)
- OpenCV 错误:“MAT”不是“cv”的成员
- 测试构建C++包装器时出现 OpenCV 错误
- 如何修复此 OpenCV 错误:断言失败((无符号)i < (无符号)cn) 在 cv::Vec<unsigned char,3>:::运算符 (), 文件