OpenCV
有问题可私信,看到一定及时恢复
Mr2021
欢迎私信,互相交流探讨。
展开
-
fopen、sprintf不安全的错误
VS2013中使用fopen、sprintf等函数会出现安全问题:error C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help fo...转载 2019-06-19 19:00:31 · 4203 阅读 · 0 评论 -
C++中 “ copyTo ” 和 “赋值操作符 = ” 的区别
如果在赋值的时候使用 “ = ”,但却对 “=” 的用法不熟悉,程序最终结果可能和自己预料的结果千差万别,而且问题原因及其难找!!!自己碰到过两三次,都是在蒙头一顿分析后才恍然记起 “ = ”的用法是特殊的,所以有必要记录下来.Mat类Mat类由两部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息);指针 (指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数);c...原创 2019-05-29 10:09:45 · 1156 阅读 · 0 评论 -
SIFT或SURF做图像匹配过程中出现 “未声明的标识符”问题以及常用匹配函数
“未声明的标识符***** ” 问题今天用opencv249的SIFT时碰到一点问题:“未声明的标识符***** ”,涉及到头文件包含问题,经查询整理如下:2.4.X版本的特征提取 SurfFeatureDetector(或者SiftFeatureDetector)包含在opencv2/nonfree/features2d.hpp中,应该include这个头文件,并且在附加依赖项中加入:op...原创 2019-05-17 14:56:36 · 1185 阅读 · 0 评论 -
Opencv:基于Hu-moments(hu矩)的形状匹配
本文将按照以下目录展开介绍:什么是图像矩;如何计算图像矩:什么是Hu矩;如何利用Opencv计算一个图像Hu矩;如何利用Hu-矩来寻找两个形状的相似性;什么是图像力矩图像矩是图像像素灰度值的加权平均,下面通过一个简单的例子来说明。假设有一个单通道的二值图像 I ,位置 (x,y) 出的灰度值是 I(x,y), I(x,y) 的取值是 0 或 1。最简单的一种力矩可以通过以...翻译 2019-05-21 11:16:58 · 8311 阅读 · 2 评论 -
OpenCV: Alpha融合
Alpha融合Alpha融合是一种将前景通过透明度叠加到背景上的过程。透明度通常是图像的第四通道,当然也可以被分离出来成为一个单独的图像。这个透明的掩模通常被称为alpha掩模。在上述图片中,左上是前景图片;右上是灰度alpha掩模;左下是背景图片,右下是融合结果。alpha融合背后的数学原理是相当直接的。在每一个像素位置,利用alpha模板(a)来融合前景图值和背景图像值。以上的alp...翻译 2019-04-18 17:53:39 · 5645 阅读 · 2 评论 -
OpenCV: 函数bitwise_and和bitwise_or的操作
函数CV_EXPORTS_W void bitwise_and(InputArray src1, InputArray src2, OutputArray dst, InputArray mask = noArray());CV_EXPORTS_W void bitwise_or(InputArray src1, InputArray src2, OutputArray dst, InputA...原创 2019-04-22 13:55:43 · 10861 阅读 · 0 评论 -
"fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够" 、在启动调试的时候出现:无法启动****.dll 、
在调试自己写的dll过程中,在对dll工程“重新生成解决方案”的时候就会出现以上错误,解决请先参考以下方法:将任何可能使用该项目生成的pdb文件的项目都停掉,因为当你编译某一项目A时,该项目A的pdb文件若正被另一处于调试状态下的编译器所使用,那么编译无法向项目A的 pdb文件写入数据。...原创 2019-04-16 16:38:03 · 1781 阅读 · 0 评论 -
win10和Visual Studio2015环境下多版本opencv共存
现网上有大量VS+opencv配置方法,而且方法基本都是只需第一次配置,以后无需重新配置。一次配置就一劳永逸的优势很明显,但也有一个很不方便的缺陷所在:假如你按照这样的方法配置了VS+opencv3,使用过程中用opencv3很方便,然而当你碰到难题需要上网求助,网上搜到大牛放出的代码超级完美的时候,却发现大牛用opencv2编写的程序你无法运行。作为刚入门的小白改编成opencv3又有些许困难....原创 2019-04-16 10:12:00 · 1165 阅读 · 0 评论 -
OpenCV:将一个三角形形变到另一个三角形
**OpenCV: 将一个三角形形变到另一个三角形**仿射变换利用OpenCV进行三角形扭曲形变1. 计算边界框2. 图像剪切&坐标变换3. 计算仿射变换矩阵4. 将包围框内的像素进行扭曲5. 将三角形外的像素遮盖住在本文中我们将学习如何将一幅图像中的单一三角形扭曲形变到另一幅图像的三角形中。在计算机图像学中,对三角形进行形变扭曲是一个常见的操作,因为任何3D表面都可以由很多三角形来...翻译 2019-03-29 10:11:46 · 2028 阅读 · 0 评论 -
OpenCV: 单应矩阵的应用
**OpenCV: 单应矩阵的应用**例子1:透视矫正步骤:结果:代码:例子2:物体替换步骤:结果:代码:在之前的文章中介绍过用OpenCV实现图像配准,主要包含兴趣点提取和利用单应矩阵配准两大方面。本文将主要介绍两个利用单应矩阵的应用例子。为了计算两幅图片之间的单应性,我们至少需要知道左边和右边两幅图片中4个对应点对的坐标信息(上图的黄,绿,红,橙分别表示四个对应的物理点的位置)。若我们有...翻译 2019-03-28 10:59:11 · 2036 阅读 · 0 评论 -
OpenCV:二值图像中填充孔洞
**OpenCV:二值图像中填充孔洞**imfill in OpenCVC++程序:本文介绍一种用OpenCV再二值化图像中填充孔洞的办法,如上图最左侧的硬币照片,我们想要用二值化图像来表示出硬币所在的位置(如右图所示),直接进行二值化分割的结果往往如中间的结果所示,在硬币所在位置内也包含和背景一样的灰度。注意到硬币的边缘和背景颜色是黑色的,可以和背景明显的区分开来。所以我们可以先利用简单的...翻译 2019-03-27 17:12:49 · 3819 阅读 · 0 评论 -
OpenCV:图像变形(Image Morphing)
融合/形变技术Image Morphing的原理是十分简单的。有两幅图像 I 和 J ,我们希望通过融合图像 I 和 J 来创建一幅新的图像 M. 图像 I 和 J 的融合过程是由参数 alpha 来控制,参数 alpha 介于0和1之间。当alpha = 0,新的图像 M看起来更接近 I;当alpha = 1,新的图像 M看起来更接近 J。可以通过以下的方程来进行融合:然而,令alpha ...翻译 2019-04-04 10:57:13 · 14832 阅读 · 12 评论 -
OpenCV:基于特征的图像校准
**OpenCV: 基于特征的图像校准**什么是图像配准或图像对齐图像配准的应用图像配准的基本理论如何得到单应矩阵寻找匹配点OpenCV图像配准代码本文将会介绍一种基于特征的图像校准方式,在这种方式中,大量的特征将在第一张源图中被提取出来,这些特征将在目标图像中寻找匹配的特征信息。通过两幅图片中相匹配的特征信息,源图和目标图像之间的像素坐标转换关系将会被提取出来。借助这种转换关系可以实现将一幅图...翻译 2019-03-25 18:19:07 · 6769 阅读 · 3 评论