主动轮廓线模型又称为Snake模型,自Kass于1987年提出以来,已广泛应用于数字图像分析和计算机视觉领域。由于Snake模型具有良好的提取和跟踪特定区域内目标轮廓的能力,因此非常适合于医学图像如CT和MR图像的处理,以获得特定器官及组织的轮廓。简单的来讲,Snake模型就是一条可变形的参数曲线及相应的能量函数,以最小化能量目标函数为目标,控制参数曲线变形,具有最小能量的闭合曲线就是目标轮廓。
目录一、数据类二、数据相关类及相关函数三、同步相关类一、数据类1、PtrStepSz一个包装设备端内存(GPU内存,也就是显存)的轻量级类。可作为CUDA核函数(CUDA kernel)的参数。可以从主机端调用其成员函数、也可以从设备端调用其成员函数。template<typename T> struct PtrStepSz { int cols; int rows;
转载 2024-08-05 19:48:39
107阅读
cv::Ptr类就看成一个cv的一个智能指针,在适当的时间能自动删除指向的对象;工作机制很像C++的内置指针cv::Ptr<cv::Matx33f> p = new cv::Matx33f; //创建一个智能指针p,空构造 //cv::Ptr<cv::Matx33f> pp =makePtr<cv::Matx33f>(); 这种格式在3.0版本可以,在
原创 2022-01-25 15:02:18
3164阅读
先看看类auto_ptr的内部实现机制:    template<typename _Tp>      class auto_ptr      {      private:  &nb
原创 2011-02-27 12:04:31
600阅读
_RecordsetPtr智能指针,它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。要搞清楚:数据库和ADO的记录集是两个不同的概念,是存在于不同物理位置的两个存储空间。                   记录集相当于是实际数据的一份拷贝。 正因
转载 2024-05-13 20:05:47
86阅读
  最近看了看陈儒的《Python源码剖析》,写的很好,这里简单记录下python语言实现的几个点。1、python对象实现原理  首先说下python的对象的实现,python基本所有东西都是对象,而这个对象都是基于PyObject。[object.h] typedef struct _object { int ob_refcnt;//引用计数 struct _t
转载 2024-05-29 23:14:26
67阅读
mat.at<int>( i ); 整型数组问的元素 i mat.at<float>( i,j ); 浮点型数组附中的元素(i, j) mat.at<int>( pt ) 整型矩阵问处于 (pt.x,pt.y) 的元素 mat.at<float>( i,j,k ); 三维浮点型矩阵M 处于 (1,j,k) 位置的元素 mat.at<uc
转载 2020-12-07 09:33:00
1017阅读
2评论
stlauto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结 1. auto_ptrauto_ptr主要是用来解决资源自动释放的问题,比如如下代码:void Function(){Obj*p = new Obj(20);...if (error occo
转载 2017-10-14 22:38:00
91阅读
shared_ptr与weak_ptr智能指针均是C++ RAII的一种应用,可用
转载 2019-11-29 10:31:00
169阅读
2评论
#include "boost/scoped_ptr.hpp"#include #include //contain auto_ptrusing namespace std;using boost::scoped_ptr;int main(int argc, char* argv[]){scoped...
转载 2016-01-15 18:24:00
129阅读
2评论
1、VC和VS  VC版并不是标准C++,VS版符合标准C++,其语法相当严格。  缺点:VC和VS都只能释放一个具体类型空间,不能对数组空间进行释放,还有写时拷贝的问题;  所以引发了Boost库的出现来解决此类问题。2、Boost库  推荐看一下Boost库完全开发指南。  Boost本身是开源库,在C++的地位举足轻重,第三章内存管理,智能
原创 2016-07-30 13:08:24
1074阅读
1点赞
文档: http://www.boost.org/doc/libs/1_57_0/libs/smart_ptr/shared_ptr.htm shared_ptr构造有个原型 Introduction The shared_ptr class template stores a pointer to
转载 2015-02-05 17:01:00
151阅读
2评论
shared_ptr weak_ptr是C++ tr1最具有实用性的一个工具。利用C++的析构函数与引用计数,提供资源自动管理的能力。在vs2010之前,大家用的都是boost的smartptr库,现在vs2010已经提供了tr1类库。 shared_ptr: 每一个shared_ptr对象内部,拥有两个指针ref_ptr与res_ptr,一个指向引用计数对象,一个指向实际的资源。 在s
原创 2011-03-20 22:36:24
3087阅读
看这里: http://blog..net/lollipop_jin/article/details/8499530 shared_ptr可以多线程同时读,但是涉及到写,需要加锁。 shared_ptr开销较大。 多个(5个以上)shared_ptr共享一个动态对象,那么每个shared_p
转载 2017-03-04 10:55:00
108阅读
2评论
1、weak_ptr  (1)、weak_ptr是为了配合shared_ptr而引入的智能指针,它更像是shared_ptr的一个助手,它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。  (2)、2个重要接口:bool expired()const ;// 判断是否过期  l
原创 2016-07-31 12:10:14
1152阅读
1点赞
一、auto_ptr  auto_ptr这是C++98标准下的智能指针,现在常常已经被C++标准的其他智能指针取代。它的缺点是在转移所有权后会使运行期不安全。C++11新标准,用unique_ptr来代替auto_ptr原有功能。auto_ptr <double> pd;double *p_reg = new double;pd = p_reg; // 不允许pd = ...
原创 2022-11-29 20:04:33
146阅读
最近在使用filp_open打开文件时遇到到一个问题,当打开一个并不存在的文件时,filp_open返回值值为0xfffffffe,而并不是0(NULL),这是因为内核对返回指针的函数做了特殊处理。内核的函数常常返回指针,通常如果调用出错,会返回NULL空指针,但linux做了更精妙的处理,能够通...
转载 2015-04-10 14:33:00
434阅读
2评论
1、共享性智能指针(shared_ptr)  引用计数型指针  shared_ptr是一个最像指针的“智能指针”,是boost.smart_ptr库中最有价值,最重要,也是最有用的。  shared_ptr实现的是引用技术型的智能指针,可以被拷贝和赋值,在任意地方共享它,当没有代码使用(此时引用计数为0)它才删除被动态分配的对象。shared_ptr也可以被安全的放到
原创 2016-07-30 19:53:47
681阅读
1点赞
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。 1.为什么称它为“自动”指针?auto_ptr只是众多可能的智
转载 2015-12-16 17:19:00
200阅读
2评论
C++11的四种智能指针前言C++ STL 提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr。其中auto_ptr 是 C++98 提供的解决方案,C+11 已将其摒弃,并提出了 unique_ptr 作为 auto_ptr 替代方案。虽然 auto_ptr 已被摒弃,但在实际项目中仍可使用,但建议使用较新的 unique_ptr,因为 un
转载 2022-11-04 09:44:28
368阅读
  • 1
  • 2
  • 3
  • 4
  • 5