Opencv学习点滴
普通网友
这个作者很懒,什么都没留下…
展开
-
opencv学习日常之“Saturation Casting“转换saturate_cast<>()
“Saturation Casting“转换saturate_cast<>()在opencv中,对计算式进行计算的时候经常会出现值溢出(上溢出或下溢出),尤其是对无符号数值进行加减操作时。opencv中使用Saturation Casting“转换很好的解决这个问题,使用saturate_cast<>(),opencv对数组或矩阵进行代数运算或其他操作时,会自动检测underflows and ov原创 2015-06-30 22:40:37 · 3511 阅读 · 0 评论 -
opencv日常之Canny边缘检测 1
大部分人认为Canny边缘检测是最优的边缘检测方法,Canny边缘检测方法可以得到清晰明了的边缘;大部分图像处理包都提供了一个专门的canny边缘检测函数;这篇文章我们来看看Canny边缘检测的原理。Canny边缘检测需要经过一下几步:1.预处理2.计算梯度3.非极值抑制4.阈值与滞后效应(此处不知翻译的对不对,英文表达是:Thresholding with hysterysis)<1>预处理边缘检原创 2016-03-16 09:10:03 · 1912 阅读 · 0 评论 -
opencv学习日常之Mat的代数运算
opencv 矩阵的代数运算,注意点: Mat m0,m1,m2; m2 = m1 和 m2 = m0 +m1;m2 = m1 : 两个矩阵的data指针指向同一块数据域m2 = m0+m1: 首先 m0 和m1对应的位置相加,然后为m2重新开辟数据域存储新的数据Mat的代数运算如下列表:**m0 + m1, m0 – m1;** // Addition or subtractio原创 2015-10-24 21:26:44 · 1501 阅读 · 0 评论 -
Oencv2 安装目录中 各个头文件的用途
本文引用于 Learning Opencv 2th;include “opencv2/core/core_c.h”Old C data structures and arithmetic routines.include “opencv2/core/core.hpp”New C++ data structures and arithmetic routines.include “opencv2/f转载 2015-10-19 15:01:47 · 849 阅读 · 0 评论 -
opencv日常学习之approxPolyDP函数和boundingRect函数说明
opencv中利用函数approxPolyDP来对指定的点集进行逼近,其逼近的精度是可设置的 对应的函数为:void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed);InputArray curve:输入的点集 OutputArray approxCurve:输出的点集,当前原创 2015-09-07 19:31:28 · 8815 阅读 · 0 评论 -
Mat矩阵 成员函数 和成员变量 总结
1. clone() 创建一个图像的深拷贝Mat image; image = cv::imread("boldt.jpg"); Mat cloneimage = image.clone();2. create()函数 result.create(image.rows,image.cols,image.type()); create函数创建的图像的内存是连续的,不会对图像的行进行填补,分原创 2015-08-22 18:17:22 · 1132 阅读 · 0 评论 -
opencv “未声明的标识符:SurfFeatureDetector”问题解决办法
在VS中使用opencv2.4.X版本的时候,如果使用SurfFeatureDetector(或者SiftFeatureDetector)做特征点检测的时候,按照官方文档上的示例代码include头文件为:opencv2/features2d/features2d.hpp,则会出现如下报错:errorC2065: “SurfFeatureDetector”: 未声明的标识符。1、实际上2.4.X版本原创 2015-09-06 16:29:05 · 7251 阅读 · 0 评论 -
opencv日常学习之给ROI,以及给图片加水印
利用ROI(感兴趣区域)给图片加水印; ROI被当做一个普通的Mat实例来处理,不过关键之处在于,ROI和父图像指向同一块内存区域。 实现代码如下:#include "stdafx.h"#include <opencv2/opencv.hpp>using namespace cv;int _tmain(int argc, _TCHAR* argv[]){ Mat image = i原创 2015-08-22 21:01:09 · 2838 阅读 · 0 评论 -
opencv学习日常之随机数发生器RNG
Random Number Generator(随机数发生器对象)RNGRNG rng( 0xFFFFFFFF)RNG实现了一个随机数发生器。 在上面的例子中, rng 是用数值 0xFFFFFFFF 来实例化的一个RNG对象。 下面通过opencv绘图功能来了解RNG 代码:#include<opencv2/opencv.hpp>#include <iostream>#define wind原创 2015-07-02 22:41:28 · 1322 阅读 · 0 评论 -
Opencv日常之Homography
什么是Homography 在图1中有两张书的平面图,两张图分别有四个相对位置相同的点,Homography就是一个变换(3*3矩阵),将一张图中的点映射到另一张图中对应的点 因为Homography是一个3*3矩阵,所以可以写成 H=⎡⎣⎢h00h10h20h01h11h21h02h12h22⎤⎦⎥H = \begin{bmatrix} h00&h01 & h02 \\ h10&原创 2016-02-23 09:14:14 · 49267 阅读 · 5 评论