opencv
金色熊族
这个作者很懒,什么都没留下…
展开
-
qt5.4.1(mingw) + opencv2.0.0 + win8安装过程
从http://opencv.org/downloads.html下载opencv2.0.0双击下载的文件,一路点确定。在选择安装路径时,我选择了默认的C:\OpenCV2.0;把C:\OpenCV2.0\bin放入PATH环境变量中安装完毕,建立一个新的qt工程。在工程的pro文件里加入如下:INCLUDEPATH += C:\OpenCV2.0\include\opencvL原创 2016-10-31 23:25:49 · 524 阅读 · 0 评论 -
OpenCV拉伸图像
OpenCV的getPerspectiveTransform()函数 和 warpPerspective()函数配合使用,可以实现图像的拉伸。下面给一个函数cvMatRect2Tetra(),将矩形图像拉伸成任意四边形。代码:#include "cvStretch.h"#pragma comment(lib, "E:\\cv\\opencv\\build\\x86\\vc11\\li原创 2017-05-13 22:15:10 · 8772 阅读 · 2 评论 -
利用OpenCV进行图像匹配
涉及软件:VS2012,OpenCV2.4.9参考网页:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/features2d/feature_homography/feature_homography.html 但有改动。1)新建一个Win32控制台工程,我将其命名为sewerCV2)输入如下代码:#原创 2017-04-22 21:56:05 · 9218 阅读 · 0 评论 -
利用OpenCV findNonZero函数实现类似matlab中find函数的功能
OpenCV和matlab都提供了强大的矩阵处理功能。但matlab也有一些功能是openCV不具备的。如find函数,可以找出矩阵中某个特定值的行列号。本文介绍一种方法,可以模拟find函数的功能。// OpenCVFind.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #includ原创 2017-04-08 23:37:54 · 9304 阅读 · 1 评论 -
利用OpenCV旋转图像的摸索(2)
http://blog.csdn.net/leaf6094189/article/details/18554549以及http://blog.csdn.net/xiaowei_cqu/article/details/7616044对图像的矩阵变换做了详细的阐述:二维图的变换,如旋转、平移、缩放等,都可以转化为一系列的矩阵操作。这个变换矩阵是cv::Mat,它的维度通常是2行3列。变换矩阵通常的ty原创 2017-02-25 13:49:21 · 721 阅读 · 0 评论 -
利用OpenCV旋转图像的摸索(1)
利用openCV的getRotationMatrix2D(center, angle, scale)函数可以方便的产生一个旋转操作矩阵。center是源图的旋转中心的坐标,以源图左上角为(0,0),向下为Y正方向。angle为源图被旋转的角度,以逆时针为正。scale是目标图相对源图的缩放比例。接下来利用warpAffine(image, rotateImg, rotateMat, image原创 2017-02-23 22:59:29 · 1056 阅读 · 0 评论 -
如何将OpenCV的类型描述符与int值对应
OpenCV的 cv::Mat格式的类型值由type()返回,但是返回值是int型,不是OpenCV预定义的宏(CV_8UC1, CV_64FC1,......)。那么在断点调试时,如何才能知道type()的返回值对应什么Mat类型呢?http://blog.csdn.net/A1367297309/article/details/53065065 给出了查表的办法:而Open原创 2017-02-25 11:16:17 · 2196 阅读 · 0 评论 -
cv::Mat的翻转和转置
cv::Mat的本质是矩阵。openCV对Mat类型的处理,实际上也是矩阵操作。这里给个小例子,介绍转置操作和翻转操作。这段代码受了http://www.tuicool.com/articles/emIr2u的启发。Mat m1 = imread("E:\\lena.jpg"); Mat m2; Mat m3; flip(m1, m2, 1); transpose(m1,原创 2017-02-14 22:08:05 · 22779 阅读 · 0 评论 -
利用OpenCV实现图像的叠加
因为工作需要,我经常需要把两个图像叠加在一起。QT的QImage,或者MFC的CImage,都无法提供这种功能。(QT提供图像叠加功能,但不好使,见我的博客Qt的四个常见的图像叠加模式)实现叠加图像功能的最理想工具是OpenCV。下面给出我的图像叠加示例代码,并加以解释。#include "overlapmat.h"#include #include #include usi原创 2017-02-12 11:22:17 · 13385 阅读 · 2 评论 -
把cv::Mat转化为QImage
前一篇博客《把QImage转换为cv::Mat》介绍了像素在QImage和Mat里面不同的存储方式,以及如何实现从QImage到Mat的转换。了解了存储像素的机理之后,从Mat向QImage的转化也不难。Qimage的构造函数有很多种,其中一种构造函数的使用方法与我们在上一篇《把QImage转换为cv::Mat》Mat的构造方法相似:在构造时,都要告知构造函数,图像的每行有几个字节(bytesPe原创 2017-02-12 15:28:37 · 10712 阅读 · 2 评论 -
opencv2.4.9 + vc2012配置过程记录
1)从opencv官网下载openCV2.4.9,然后双击文件,选择安装路径2)安装后,在系统变量中添加“opencv”变量,其取值是你安装的路径下的build文件夹3)再向系统变量Path添加:%opencv%\x86\vc11\bin。如果你用的是32位,就要选择x86;否则就是x64。如果使用的是vc2012,就要选择vc11,如果是vc2010,就要选择vc10原创 2016-11-01 22:21:52 · 533 阅读 · 0 评论 -
opencv mat的拼接,及乘法
先说乘法。按照http://www.opencv.org.cn/forum.php?mod=viewthread&tid=35655的说法,仅当cv::Mat的元素类型是32FC1, 32FC2, 64FC1, 64FC2时,才可以做乘法。否则报错。看下面的例子:#include #include #pragma comment(lib, "E:\\cv\\opencv\\build\原创 2017-05-16 22:59:29 · 3173 阅读 · 0 评论