在OpenCV中使用Mat时exc_bad_access,尽管看起来我的索引是正确的
exc_bad_access when using Mat in OpenCV although it looks like my indexes are correct
我在Mac上使用Xcode 5和OpenCV开发了一些算法。我做C++。
我定义矩阵:
Mat src;
int cols = 560;
int rows = 260;
src.create( cols, rows, DataType<double>::type);
在代码中,我有一个循环看起来像这样:
for (int i=0; i<src.rows; i++) {
const double* srcIterator = src.ptr<double>(i);
for (int j=0; j<src.cols; j++) {
double temp = srcIterator[j];
temp++;
}
}
我读取了具有此循环的函数,该函数用于读取的每一帧。大多数情况下它运行正常(它在无限循环中运行并且总是可以)。
在某些运行中,我收到exc_bad_access错误。当它发生时,它发生在第一帧。错误在线上:双倍温度 = srcIterator[j];
当它发生时,j是560,总是在500以上,但每次都有一个递减值。
我想可能是我混合了列和行,但如果是正确的,当 j 为 260(行的大小)时,我会得到此错误。
拜托,任何人都猜猜它会是什么?
从文档中,您似乎在调用cv::Mat::create()
时反转了行和列参数。这也解释了当您尝试读取 i 和 j 的大值时,您获得的访问无效。
相关文章:
- std::vector的包装器,使数组的结构看起来像结构的数组
- 看起来is_nothrow_constructible_v()在MSVC中被破坏了,我错了吗
- 自制的上衣:看起来一样,但不完全相同
- 我的代码看起来不错,但某些输入会导致不需要的输出
- 我需要将阵列样式的邻接矩阵转换为矢量样式(以使其看起来更好)
- 我应该如何使 std::filesystem 看起来符合 Visual Studio 2015 的标准
- 我如何编写看起来像方法的lambda表达式
- 我的 vscode 的控制台输出看起来很奇怪,如何解决它
- 如果我有一个向量(或类似的东西)成员变量,那么move构造函数看起来怎么样
- 我的C 计划不会加起来我的总价格
- 字符串流问题,我认为我的代码看起来不错,但它显示奇怪的符号
- 我的代码看起来不错。为什么我要得到"error: expected primary-expression before ')' token"?
- 编译器在尝试优化/内联我看起来微不足道但并非微不足道的 dtor 时搬起石头砸自己的脚,我做错了什么
- 在OpenCV中使用Mat时exc_bad_access,尽管看起来我的索引是正确的
- 我的柏林噪音看起来不对,几乎像灰色t恤的材料(石南).为什么
- 为什么我的除法结果看起来是错的
- 为什么我得到EXC_BAD_ACCESS,即使指针看起来是有效的
- 如何让我的答案看起来像小数
- 为什么看起来好像我的对象被破坏了两次
- Qt快速如何创建一个按钮,将看起来原生的每个操作系统的应用程序中使用