博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Deep Copy cv::StereoBM 深度拷贝
阅读量:6515 次
发布时间:2019-06-24

本文共 916 字,大约阅读时间需要 3 分钟。

 

在使用OpenCV的三维立体重建的库时,一个重要的步骤就是生成左右视图的差异图Disparity,而控制生成disparity的参数的类是cv::StereoBM,我们有时候需要拷贝一份cv::StereoBM,然后改变其中的参数值,但是如果用默认的等号‘=’来进行拷贝,其实是浅拷贝,如果改变拷贝项的参数值,原来的参数值也会跟着改变,所以我们需要自己写一个深拷贝的函数,如下所示:

 

/** * Deep copy cv::StereoBM bm1 to bm2 */void copy_bm(const cv::StereoBM &bm1, cv::StereoBM &bm2) {    if (!bm1.state) {        return;    }    bm2.init(CV_STEREO_BM_NORMALIZED_RESPONSE, 0, 21);    bm2.state->preFilterSize = bm1.state->preFilterSize;    bm2.state->preFilterCap = bm1.state->preFilterCap;    bm2.state->SADWindowSize = bm1.state->SADWindowSize;    bm2.state->minDisparity = bm1.state->minDisparity;    bm2.state->numberOfDisparities = bm1.state->numberOfDisparities;    bm2.state->textureThreshold = bm1.state->textureThreshold;    bm2.state->uniquenessRatio = bm1.state->uniquenessRatio;    bm2.state->speckleWindowSize = bm1.state->speckleWindowSize;    bm2.state->speckleRange = bm1.state->speckleRange;}

 

转载地址:http://xxofo.baihongyu.com/

你可能感兴趣的文章
bzoj2754
查看>>
redis liunx下安装和配置
查看>>
Asp.Net MVC 学习心得 之 View
查看>>
ajax同步和异步的区别
查看>>
HDU max sum(最大子序列之和)
查看>>
STL - Map - 运行期自定义排序
查看>>
matplotlib制第一个简单图(转自matplotlib手册)
查看>>
Oil Deposits
查看>>
ViewPager结合view无限滑动
查看>>
一次PostgreSql数据迁移,使用nodejs来完成
查看>>
c++builder6.0 mdi窗体+自定义子窗体
查看>>
mybatis教程:入门>>精通>>实战
查看>>
mysql进阶(十六)常见问题汇总
查看>>
poj3984 迷宫问题(简单搜索+记录路径)
查看>>
Linux 服务器buff/cache清理
查看>>
ie请求缓存问题,页面内容没有及时更新
查看>>
算法试题 及其他知识点
查看>>
php课程---Json格式规范需要注意的小细节
查看>>
hadoop hdfs notes
查看>>
FileInputStream与FileOutputStream类
查看>>