码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【OpenCV4】cv::Mat.isContinuous() 函数判断内存是否连续(c++)


    • 官方文档说明:

    Reports whether the matrix is continuous or not.

    The method returns true if the matrix elements are stored continuously without gaps at the end of each row. Otherwise, it returns false. Obviously, 1x1 or 1xN matrices are always continuous. Matrices created with Mat::create are always continuous. But if you extract a part of the matrix using Mat::col, Mat::diag, and so on, or constructed a matrix header for externally allocated data, such matrices may no longer have this property.

    The continuity flag is stored as a bit in the Mat::flags field and is computed automatically when you construct a matrix header.

    • 解析:

    isContinuous() 方法可以判断一个 cv::Mat 对象是否在内存中是连续的。

    如果是连续的返回 true,如果在每一行的结尾跳过一部分内存地址到达下一行,那么就会返回 false。

    所以很显然,1x1 和 1xN 的对象一定是连续的,因为只有一行数据。

    使用 cv::Mat::create 创建的对象也是连续的,表示直接开辟了一个连续的内存空间进行对象的创建。

    但是,如果从一个 cv::Mat 对象中截取了一部分数据,或者构造数据来自外部存储的数据,那么就不一定是连续的了。

    该只是为存储与 cv::Mat::flags 中,占据一位,构造 matrix 的时候会自动计算,所以获得这个标志位速度是很快的。

    • 案例:
        cv::Mat newM = cv::Mat::zeros(20, 20, CV_32FC1);
    
        cout << newM.isContinuous() << endl;
    
        cv::Mat segM = newM.colRange(10, 15);
    
        cout << segM.isContinuous() << endl;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 输出:
    1
    0
    
    • 1
    • 2
  • 相关阅读:
    RabbitMQ的高可用方案
    【prometheus上报和使用】
    vue + Lodop打印控件的使用
    Re:从零开始的C++世界——(一)入门基础
    SSM-XML整合
    【Proteus仿真】4x4矩阵键盘中断方式扫描 +数码管显示
    计算机考研 | 22上岸科软 —— 记裸辞二战的得失
    【知识】从音频CS4334 DAC转换的电路引发的一些知识
    @Transaction注解的应用
    dpdk 基于 rte_tailq_head 在多进程间共享内存的原理
  • 原文地址:https://blog.csdn.net/qq_42067550/article/details/126162421
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号