为什么这里断言失败

2024-04-08

为什么当我创建一个时断言在这里失败CvMat *?我使用指针加载到 cv::Mat 中的图像不会发生这种情况。

    struct RGB { unsigned char b, g, r; };
    cv::Point p;
    RGB *data;
    CvMat* mat = cvCreateMat(300,300,CV_32FC1);
    for( row = 0; row < mat->rows; ++row) 
    {
            for ( col = 0; col < mat->cols; ++col) 
            {
                 p.x=row,p.y=col;
        ERROR ----->>>   assert((mat->step/mat->cols) == sizeof(RGB));
                 data = (RGB*)&mat->data;
                 data += p.y * mat->cols + p.x;
            }
    }

对于此代码,断言不会失败:

    IplImage * img=cvLoadImage("blah.jpg");
    int row=0,col=0;
    cv::Mat in(img);
    cv::Mat *mat=&in;
    cv::Point p;
    struct RGB { unsigned char b, g, r; };
    RGB *data;
    for( row = 0; row < mat->rows; ++row) 
    {
            for ( col = 0; col < mat->cols; ++col) 
            {
                 p.x=row,p.y=col;
                 assert((mat->step/mat->cols) == sizeof(RGB));
                 data = (RGB*)&mat->data;
                 data += p.y * mat->cols + p.x;
                 printf("Row=%dxCol=%d      b=%u g=%u r=%u\n",row,col,data->b,data->g,data->r);
                 wait_for_frame(1);
            }
    }

Because sizeof(RGB) != sizeof(float),这就是您在此处填充矩阵的内容:

 CvMat* mat = cvCreateMat(300,300,CV_32FC1); 

CV_32FC1表示 1 个分量、32 位浮点。你可能想要CV_8UC3. See here http://opencv.willowgarage.com/documentation/cpp/basic_structures.html或其他 OpenCV 参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这里断言失败 的相关文章

随机推荐

  • 是否有 IEEE-754 操作的开源 c/c++ 实现? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 IEEE 754 操作的参考实现 有这样的事吗 我相信 C 库软浮点 http www j
  • 按属性按优先级排序

    我有想要排序的项目 我的项目在模型上计算了属性 包括winning bidding closed and watching 这些属性中的每一个都是 true 或 false 我想对项目进行排序 以便所有获胜项目位于第一 然后是所有投标项目
  • 忽略 doxygen 注释块中的行

    是否可以在 doxygen 注释块中包含将被 doxygen 忽略的内容 换句话说 我们可以在 doxygen 评论块中发表评论吗 背景 我们正在将 Fortran 项目的代码内注释转换为 doxygen 可解析的格式 但是该项目要求代码内
  • C 中的可变长度数组并就地初始化[重复]

    这个问题在这里已经有答案了 C99 允许定义具有非常量大小的数组 即用于定义数组的大小可以在运行时更改 解释它的代码片段是 void dummy function1 unsigned int length char arrA length
  • 什么是沼泽图?

    有人告诉我沼泽图 解释说它们可以通过测量给定产品的传入缺陷率和传出修复率来预测代码质量 不幸的是 我无法找到有关这些图表的更多信息 我想知道这是否是特定于一家公司的术语 你能解释一下什么是沼泽图吗 您可以在这篇关于 CESR 的调试和性能特
  • 在Python中获取不带扩展名的文件名

    如果我有一个类似于以下之一的文件名 1 1 1 1 1 jpg 1 1 jpg 1 jpg 我怎样才能只获取文件名 而不获取扩展名 正则表达式合适吗 在大多数情况下 您不应该为此使用正则表达式 os path splitext filena
  • 如何在异步管道上使用自定义管道?

    我正在尝试在异步管道上创建自定义管道 我尝试了很多解决方案 但仍然不起作用 这是代码片段 Product sort ts 自定义管道 import PipeTransform Pipe from angular core import Ob
  • Angular 4 属性在构建时的对象类型上不存在

    我正在使用 Angular 构建一个项目 我使用 angular cli 启动了该项目 当我尝试运行时ng build prod我不断收到此错误 对象类型上不存在属性 描述 生成此错误的代码如下 export class AppCompon
  • 基于 Spring Java 的静态方法配置

    任何人都可以请建议为什么我们需要使用 a 来声明 PropertySourcesPlaceholderConfigurer beanstatic方法 我刚刚发现 如果我在下面使用非静态 那么 url 将被设置为空值 而不是从属性文件中获取
  • 使用 JavaScript 对象文字表示法的 JavaScript 构造函数

    使用对象字面量表示法在 JavaScript 中构建构造函数的最佳方法是什么 var myObject funca function funcb function 我希望能够打电话 var myVar new myObject 并将参数传递
  • 使用 JavaScript 关闭 Youtube 注释

    目前我知道有三种方法可以禁用 YouTube 视频中的注释 您可以使用 YouTube 设置 这对我不起作用 因为我没有 也不想要 帐户 您可以使用专门的扩展 这可能有用 但我不想为此而拥有一个带有大量选项的成熟扩展 您可以使用 广告 拦截
  • PHPUnit ReflectionException 方法套件不存在

    我正在使用 PHPUnit 版本 3 6 2 并且总是得到 PHP ReflectionException 第 113 行 pathTo pear PHPUnit Runner BaseTestRunner php 中不存在方法套件 运行单
  • 如何通过eclipse连接mysql数据库

    我有一个在 eclipse kepler 中运行的应用程序 我的数据库位于AWS RDS MySQL类型上 我已经导入 mysql connector java gpl 5 1 31 msi 和 aws java sdk 1 8 5 jar
  • 无法使用 WiX 安装程序创建注册表项值

    以下组件按预期执行所有操作 但无法写入最后一个注册表项值 我没有收到任何错误
  • 无法找到哈希字符串“android-P”的目标

    我正在跟进this https codelabs developers google com codelabs mdc 101 java 1教程页面 我得到了与他们在该页面中所说的完全相同的错误 无法在以下位置找到哈希字符串 android
  • 使用 Twitter API 可以追溯到多久以前

    我用 C 开发了一个应用程序 可以将推文提取到数据库中 我目前正在使用 TweetSharp Wrapper 由于最近宣布 Twitter 现在已经对之前的所有推文建立了索引 这使您可以返回到最初的推文 因此我开始怀疑是否有可能返回到某个时
  • RMarkdown 文档中的条件格式表

    例如 我可能想使用以下规则为单元格着色 编辑为不平凡 如果 gt 4 则呈蓝色 如果 3 5 则不填充 如果 gt 3 且 如果 使用 RMarkdown knit 创建具有条件格式的表格 https stackoverflow com q
  • Django:如何允许可疑文件操作/复制文件

    我想做一个SuspiciousFileOperationdjango 默认是不允许的 我正在编写一个命令 通过运行manage py importfiles 在我自己编写的 Django 文件存储中导入真实文件系统上给定的目录结构 我想 这
  • 如何让 js-mode 正确缩进连续(复合?)var 声明?

    如果我使用不同的var类似的陈述 function stretchDiv var wh window height var sz2 wh paddingTop paddingBottom mainTop 2 2 the scrollbar
  • 为什么这里断言失败

    为什么当我创建一个时断言在这里失败CvMat 我使用指针加载到 cv Mat 中的图像不会发生这种情况 struct RGB unsigned char b g r cv Point p RGB data CvMat mat cvCreat