摘要: 本文介绍几种常见的图像几何变换方法。 1. 图像缩放 图像缩放就是将源图像中的像素点经过算法映射到目标图像的像素点的过程,即找出目标图像中的像素点Pd(Xd,Yd)对应的源图像的像素点Ps(Xs,Ys),然后将源图像像素点填充到对应目标图像的像素点,最终形成目标图像。常见的图像缩放算法有最邻近点插值 阅读全文
posted @ 2023-01-07 13:34 crossoverpptx 阅读(1042) 评论(0) 推荐(1)
摘要: 1. 什么是边缘检测 边缘检测是图像处理与计算机视觉中的重要技术之一。其目的是检测识别出图像中亮度变化剧烈的像素点构成的集合。图像边缘的正确检测对于分析图像中的内容、实现图像中物体的分割、定位等具有重要的作用。边缘检测大大减少了源图像的数据量,剔除了与目标不相干的信息,保留了图像重要的结构属性。 图 阅读全文
posted @ 2023-01-06 10:14 crossoverpptx 阅读(702) 评论(0) 推荐(0)
摘要: 1. 什么是浅拷贝和深拷贝 对于基本类型的数据以及简单的对象,它们之间的拷贝非常简单,就是按位复制内存。例如: class Base{ public: Base(): m_a(0), m_b(0){ } Base(int a, int b): m_a(a), m_b(b){ } private: i 阅读全文
posted @ 2023-01-05 09:48 crossoverpptx 阅读(208) 评论(0) 推荐(0)
摘要: 通过学习C++11移动构造函数我们知道,C++11 标准中借助右值引用可以为指定类添加移动构造函数,这样当使用该类的右值对象(可以理解为临时对象)初始化同类对象时,编译器会优先选择移动构造函数。 需要注意,移动构造函数的调用时机是:用同类的右值对象初始化新对象。那么,用当前类的左值对象(有名称,能获 阅读全文
posted @ 2023-01-04 18:31 crossoverpptx 阅读(148) 评论(0) 推荐(0)
摘要: 1. 拷贝构造函数中的深拷贝问题 在 C++ 98/03 标准中,如果想用其它对象初始化一个同类的新对象,只能借助类中的拷贝构造函数。拷贝构造函数的实现原理很简单,就是为新对象复制一份和其它对象一模一样的数据。需要注意的是,当类中拥有指针类型的成员变量时,拷贝构造函数中需要以深拷贝(而非浅拷贝)的方 阅读全文
posted @ 2023-01-04 08:49 crossoverpptx 阅读(300) 评论(0) 推荐(0)
摘要: 1. 拷贝和拷贝构造函数 拷贝和复制是一个意思,对应的英文单词都是copy。对于计算机来说,拷贝是指用一份原有的、已经存在的数据创建出一份新的数据,最终的结果是多了一份相同的数据。例如,将 Word 文档拷贝到U盘去复印店打印,将 D 盘的图片拷贝到桌面以方便浏览,将重要的文件上传到百度网盘以防止丢 阅读全文
posted @ 2023-01-03 20:02 crossoverpptx 阅读(117) 评论(0) 推荐(0)
摘要: C++中有左值和右值的概念。其实,左值和右值的区分也同样适用于类对象,本文中将左值的类对象称为左值对象,将右值的类对象称为右值对象。 1. C++11:引用限定符 默认情况下,对于类中用 public 修饰的成员函数,既可以被左值对象调用,也可以被右值对象调用。举个例子: #include <ios 阅读全文
posted @ 2023-01-01 09:30 crossoverpptx 阅读(171) 评论(0) 推荐(0)
摘要: 本文介绍 C++11 标准中新添加的 long long 超长整型和 nullptr 初始化空指针。 1. C++11:long long 超长整型 C++ 11 标准中,基于整数大小的考虑,共提供了如下表所示的这些数据类型。与此同时,标准中还明确限定了各个数据类型最少占用的位数。 | 整数类型 | 阅读全文
posted @ 2022-12-31 09:33 crossoverpptx 阅读(471) 评论(0) 推荐(0)
摘要: 1. C++常量表达式 constexpr 是 C++ 11 标准新引入的关键字,在学习其具体用法和功能之前,我们需要先搞清楚 C++ 常量表达式的含义。 所谓常量表达式,指的就是由多个(≥1)常量组成的表达式。换句话说,如果表达式中的成员都是常量,那么该表达式就是一个常量表达式。这也意味着,常量表 阅读全文
posted @ 2022-12-30 11:10 crossoverpptx 阅读(255) 评论(0) 推荐(1)
摘要: 1. C++ 98/03标准的for循环 在C++ 98/03标准中,如果要用 for 循环语句遍历一个数组或者容器,只能套用如下结构: for(表达式 1; 表达式 2; 表达式 3){ //循环体 } 例如,下面程序演示了用上述结构遍历数组和容器的具体实现过程: #include <iostre 阅读全文
posted @ 2022-12-29 20:21 crossoverpptx 阅读(392) 评论(0) 推荐(0)