`
xiaoer_1982
  • 浏览: 1865333 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

OpenCV学习——内存分配讨论两例

 
阅读更多


1.在求矩阵转置方面,cvReshape比cvTranspose要好:

cvMat* matT, hdr;
matT = cvReshape( mat, &hdr, CV_MAT_CN(mat->type), mat->cols );
以上方式比下边的方式要好
CvMat* matT = cvCreateMat( mat->cols, mat->rows, mat->type );
cvTranpose( mat, matT );
cvReleaseMat( &matT );

原因是cvReshape在转置时不需要内存分配。
CvMat* mat, hdr;
mat = cvReshape( orig, &hdr, nChannel, nRow );
mat的地址指向的是orig的地址,而没有重新分配地址,形如CvMat* cvXxx( const CvMat*, &hdr )的函数都是这样的。

当然这种方式只适用于部分向量,而不适用于由
cvGetRow或者cvGetCols得到的向量,因为这样得到的向量内存是不连续的。

2.通过cvGetRow达到cvSetRow的目的
这个纯属是上边那个结论的小技巧,我们用cvGetRow取出指定行,其实就是取出指向指定行的地址,
然后用cvCopy来修改,原行自然就被改动了:
CvMat *row, hdr;
row = cvGetRow( mat, &hdr, 1 );
cvCopy( another_row, row );
// mat also modified.

分享到:
评论

相关推荐

    OpenCV教程——基础篇2

    OpenCV教程——基础篇,于仕琪著,这两天正在学习

    OpenCV教程——基础篇3

    标题“OpenCV教程——基础篇3”表明本文内容是关于计算机视觉库OpenCV(Open Source Computer Vision Library)的入门级教程的第三部分。OpenCV是一个开源的计算机视觉和机器学习软件库,由超过47,000个优化的算法...

    《OpenCV教程——基础篇》刘瑞祯 实例源代码

    刘瑞祯的《OpenCV教程——基础篇》是一本面向初学者的优秀教材,旨在帮助读者快速掌握OpenCV的基础知识和实践技巧。这本书的实例源代码提供了丰富的实践案例,有助于读者深入理解理论概念。 本教程覆盖了OpenCV的...

    OpenCV教程——基础篇.part1

    OpenCV教程——基础篇.part1 作 者:于仕琪 刘瑞祯 编著

    OpenCV教程——基础篇(刘瑞祯 于仕琪)---源代码

    OpenCV教程——基础篇(刘瑞祯 于仕琪)---源代码

    OpenCV教程——基础篇1

    由于文件内容中存在大量OCR扫描图片,无法直接提供文字内容,但我可以根据标题、描述和标签提供一些关于“OpenCV教程——基础篇1”的知识点。 OpenCV是一个开源的计算机视觉和机器学习软件库,由英特尔公司发起并...

    OpenCV教程——基础篇 part1

    目前,OpenCV逐步成为一个通用的基础研究...OpenCV实现了大量通用算法,涉及到图像处理、结构分析、运动检测、摄像机定标、三维重建以及机器学习等方面,并有较高的运行效率。书中所有实例均提供了C/C++语言的源代码。

    OpenCV教程——基础篇(第一版)

    标题:“OpenCV教程——基础篇(第一版)”的知识点 描述:本书是于老师所著,主要针对初学者,对OpenCV进行了细致的讲解,是一本值得学习的教材。 标签:OpenCV OpenCV是一个开源的计算机视觉和机器学习软件库,...

    OpenCV教程——基础篇 part2

    目前,OpenCV逐步成为一个通用的基础研究...OpenCV实现了大量通用算法,涉及到图像处理、结构分析、运动检测、摄像机定标、三维重建以及机器学习等方面,并有较高的运行效率。书中所有实例均提供了C/C++语言的源代码。

    OpenCV教程——基础篇

    一本介绍OpenCV的基础图书,对OpenCV开放源代码计算机视觉库进行的详细讲解

    OpenCV教程——基础篇(2)(共3)

    8. **深度学习与OpenCV**:虽然基础篇可能不会深入讨论,但OpenCV提供了接口来利用深度学习模型,如TensorFlow和PyTorch,进行图像分类和物体检测。 9. **实践项目**:书中通常会包含一些实战项目,帮助读者将理论...

    openCV教程——基础篇

    含实例、图片及程序代码,还有于仕琪的幻灯片讲义

    opencv教程——基础篇实例代码3

    这个“opencv教程——基础篇实例代码3”是针对初学者的教程,旨在帮助读者掌握OpenCV的基本操作和概念。在第五章中,作者通常会讲解图像处理的基础知识,如图像加载、显示、变换以及基本的图像分析技术。 在这个...

    OpenCV教程——基础篇光盘

    《OpenCV基础教程》一书的光盘 ...OpenCV实现了大量通用算法,涉及到图像处理、结构分析、运动检测、摄像机定标、三维重建以及机器学习等方面,并有较高的运行效率。书中所有实例均提供了C/C++语言的源代码。

    OpenCV教程——基础篇(实例源代码)

    OpenCV,全称为“Open Source Computer Vision Library”,是一款开源的计算机视觉库,广泛应用于图像处理、机器学习和人工智能领域。本教程的基础篇旨在为初学者提供一个深入理解OpenCV基本功能和操作的平台,通过...

    opencv教程——基础篇第二章示例代码

    OpenCV(开源计算机视觉库)是一个强大的图像处理和计算机视觉库,广泛应用于图像分析、机器学习和人工智能领域。本教程的基础篇旨在引导初学者逐步掌握OpenCV的基本操作和概念。在"基础篇第二章"中,我们将深入学习...

    OpenCV教程——基础篇(3)(共3)

    在这个基础篇的教程中,作者刘瑞祯和于仕琪为读者提供了一个深入浅出的学习平台,帮助初学者掌握OpenCV的基本概念和操作。这本书是中文版,使得国内读者能够更方便地理解和应用OpenCV。 首先,OpenCV的基础包括图像...

    opencv计算机视觉——鼠标响应

    资源包括opencv学习中的一些典型示例程序——鼠标响应方面,均已经通过测试。从基础的编程语法到精讲的实例程序,程序的思想和资源来源于如下书籍: 1、OpenCV 2 计算机视觉编程手册_中文版(必学 ) 2、OpenCV 2 ...

    OpenCV中的内存泄露问题(cvLoadImage,cvCloneImage)【转】

    OpenCV中的内存泄露问题解决方案 在使用OpenCV时,经常会遇到内存泄露的问题,特别是在使用cvLoadImage和cvCloneImage函数时。这些函数的使用不当将导致内存泄露,影响程序的稳定性和性能。本文将详细介绍这两个...

    OpenCV教程——基础篇.part2

    penCV教程——基础篇.part2 作 者:于仕琪 刘瑞祯 编著

Global site tag (gtag.js) - Google Analytics