opencv
文章平均质量分 56
soldier123333
这个作者很懒,什么都没留下…
展开
-
cv::Mat
参看Opencv的官方文档:OpenCV 3.1.0 Open Source Computer Vision Mat定义:Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP)第一个参数是图像行数,也就是高度。 第二个参数是图像列数,也就是宽度。 第三个参数是矩阵中元素的类型以及矩阵的通道个数,为一些预定常量原创 2017-07-30 20:17:11 · 532 阅读 · 0 评论 -
带有滑动条的霍夫变换 HoughLinesP
首先讲一下OpenCV中轨迹条(Trackbar)的创建和使用创建轨迹条——createTrackbar函数详解createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便。首先大家要记住,它往往会和一个回调函数配合起来使用。先看下他的函数原型:C++: int createTrackbar(const原创 2017-08-11 16:01:28 · 480 阅读 · 0 评论 -
Canny边缘检测
http://blog.csdn.net/morewindows/article/details/8239625原创 2017-08-11 09:59:45 · 353 阅读 · 0 评论 -
【opencv】 改变图像的对比度和亮度的两种方法
方法一:对每个像素点进行线性处理两种常用的点过程(即点算子),是用常数对点进行乘法和加法运算: 两个参数 0" style="border:0px; m原创 2017-09-22 18:13:10 · 16388 阅读 · 0 评论 -
Mat类中的rowRange和colRange 提取某些行或列
1.首先给出opencv文档中,对 rowRange和colRange的定义:cv::Mat Class Reference下面是解释和翻译:函数原型:Mat cv::Mat::colRange(int startcol, int endcol) const功能:为指定的列跨度创建一个矩阵头。该方法为矩阵的指定列跨度创建一个矩阵头。 类似于Mat :: row原创 2017-09-12 08:47:54 · 4203 阅读 · 0 评论 -
opencv获取图像RGB值的两种方法
1.使用opencv1中的IplImage代码如下:int main(){ IplImage* img = cvLoadImage("lena.jpg"); CvScalar s; for (int y = 0; y height; y++) { for (int x = 0; x width; x++) { s = cvGet2D(img, y, x); int原创 2017-09-12 15:58:51 · 28581 阅读 · 4 评论 -
Mat数据类型 convertTo
1.一般图像文件格式使用的是unsigned 8bits,对应的数据类型有:CV_8UC1、CV_8UC2,CV_8UC3其中,CV_8UC3表示3通道8位的unsigned char型float是32位,对应的CvMat数据结构类型是:CV_32FC1,CV_32FC2,CV_32FC3double是64位,对应的CvMat数据结构类型是:CV_64FC1,CV_64FC2,CV_6原创 2017-10-09 22:04:56 · 3260 阅读 · 0 评论 -
张正友标定算法原理详解(二)
使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些?相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。相机标定的输入:标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐转载 2017-10-16 08:52:18 · 9197 阅读 · 2 评论 -
张正友标定算法原理详解(一)
一、背景 ”张正友标定”是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法[1]。文中提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时也相对于自标定而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。二、计算内参和外参的初值1、计算单应性矩阵H 根据之前博客介转载 2017-10-16 09:03:59 · 45421 阅读 · 3 评论 -
霍夫变换 HoughLines 和 HoughLinesP
本文主要讲解标准霍夫线变换(HoughLines)和统计霍夫变换(HoughLinesP)函数。1.首先给出函数定义:void HoughLines(InputArray image, OutputArray lines, double rho, double theta, int threshold, double srn=0, double stn=0 )参数:imag原创 2017-08-11 11:25:37 · 27327 阅读 · 0 评论 -
opencv line 绘制直线
opencv提供了line()函数来对直线的绘制。其原型如下:void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)¶参数:第一个参数img:要划的线所在的图像;第二个参数pt1:直线起点第二个参数pt2:原创 2017-08-11 12:20:51 · 54782 阅读 · 0 评论 -
CvScalar
CvScalar是opencv常用的结构体typedef struct CvScalar { double val[4]; }CvScalar; c接口中定义为结构体CvScalar;c++接口中定义为类Scalar。这个 CvScalar就是一个可以用来存放4个double数值的数组,分别为val[0],val[1],val[2],val[3],我们通常用的是前三个,val[原创 2017-07-30 20:50:52 · 2908 阅读 · 0 评论 -
cv :: cvtColor
cvCvtColor( ),是Opencv里的颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间的转换,也可以转换为灰度图像。定义:void cvCvtColor( const CvArr* src, CvArr* dst, int code );参数: 第一个参数SRC: 输入图像为8位无符号,16位无符号(CV_16UC …)或单精度浮点。 第二个参数DST:输出与src相同原创 2017-07-30 21:11:49 · 1021 阅读 · 0 评论 -
cvGet2D()和cvSet2D()对像素点进行处理
找到一篇讲解的很好地博客,网址为:OpenCV像素点处理获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。 opencv中,CvScalar结构为: typedef struct CvScalar { double val[4];原创 2017-07-30 21:32:02 · 4713 阅读 · 1 评论 -
opencv头文件分析
opencv中包含很多头文件,经常不知道该用哪些,怎么用,今晚正好遇到了这个问题,整理一下:1.先到目录:F:\opencv\sources\include\opencv2 下,找到头文件opencv.hpp 下面看一下里面都有哪些内容:通常情况下,只要我们在工程中包含#include <opencv.hpp>这一句,就把其他常用的头文件与包含进来了。2 为什么是:#include <open原创 2017-07-31 21:00:14 · 625 阅读 · 0 评论 -
#include "opencv2/imgcodecs.hpp"
没想到我安装的opencv2.4.9中竟然没有这个头文件,无奈只能上网查资料,终于在Github上找到了这个文件,这是Github上的链接: imgcodecs.hpp下载下来之后,直接放到了路径里:F:\opencv\build\include\opencv2\但是这个头文件里面还包含了另一个头文件: 运行的时候,又显示找不到这个头文件,这是因为在我的电脑中,core.hpp的路径是: 所以原创 2017-07-31 21:08:05 · 8552 阅读 · 3 评论 -
opencv 3.2.0 + vs2013配置
博文原网址:【OpenCV学习笔记】一、开发环境配置(windows8.1+opencv3.2.0+vs2013)opencv 3.2下载网址:OpenCV3.20讲解特别详细,我就不写了,把链接放在这,方便以后查看使用,但是在配置完成之后,用作者给的代码,出现了一个错误: **fatal error C1083: 无法打开包括文件:“stdafx.h”: No such file or direc原创 2017-08-02 20:53:36 · 394 阅读 · 0 评论 -
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决方案如下:解决该文件不能在当前代码页(936)中表示的字符转载 2017-08-02 21:06:48 · 348 阅读 · 0 评论 -
判断两幅Mat型的图片是否相同
如何判断两幅图像是否完全一样呢?遍历两幅图像的每一个像素点,对两幅图像的相同位置像素点进行比较#include #include #include using namespace cv;using namespace std;int main(){ Mat mat1 = Mat::zeros(100,100,CV_8UC1); Mat mat2 =原创 2017-08-11 16:32:23 · 2146 阅读 · 0 评论 -
【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
这篇文章里,我们将一起探讨图像金字塔的一些基本概念,如何使用OpenCV函数 pyrUp 和 pyrDown 对图像进行向上和向下采样,以及了解了专门用于缩放图像尺寸的resize函数的用法。此博文一共有四个配套的简短的示例程序,其详细注释过的代码都在文中贴出,且文章最后提供了综合示例程序的下载。先尝鲜一下其中一个示例程序的运行截图:转载 2017-10-16 10:55:46 · 364 阅读 · 0 评论