
cv::Mat
金色熊族
这个作者很懒,什么都没留下…
展开
-
利用OpenMP加速拉伸图像操作
前面的博客《OpenCV拉伸图像》介绍了如何利用OpenCV的现成函数实现图像的透视变换。本文受到了《http://blog.csdn.net/xiaowei_cqu/article/details/26471527》的启发,利用OpenMP实现对透视变换的加速。1)启用OpenMP。openmp的使用很简单,只要是vs2010或以上的环境都可以使用。在需要使用的文件开头包含 ,然后在“项目属原创 2017-05-25 22:31:26 · 935 阅读 · 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 · 3207 阅读 · 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 · 8891 阅读 · 2 评论 -
利用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 · 742 阅读 · 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 · 2220 阅读 · 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 · 1069 阅读 · 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 · 23078 阅读 · 0 评论 -
把cv::Mat转化为QImage
前一篇博客《把QImage转换为cv::Mat》介绍了像素在QImage和Mat里面不同的存储方式,以及如何实现从QImage到Mat的转换。了解了存储像素的机理之后,从Mat向QImage的转化也不难。Qimage的构造函数有很多种,其中一种构造函数的使用方法与我们在上一篇《把QImage转换为cv::Mat》Mat的构造方法相似:在构造时,都要告知构造函数,图像的每行有几个字节(bytesPe原创 2017-02-12 15:28:37 · 10778 阅读 · 2 评论 -
把QImage转换为cv::Mat
本文受了http://blog.csdn.net/dancing_night/article/details/51545524的启发。QImage里面有一个指针bits(),用来指向存储像素的内存首地址。而cv::Mat也有一个成员data,同样指向存储像素的内存首地址。那么,假如我想把QImage转化为cv::Mat,是否只要调用memcpy就可以了吗?不是的。QImage的像素存储方式原创 2017-02-12 12:27:30 · 3191 阅读 · 0 评论 -
利用OpenCV实现图像的叠加
因为工作需要,我经常需要把两个图像叠加在一起。QT的QImage,或者MFC的CImage,都无法提供这种功能。(QT提供图像叠加功能,但不好使,见我的博客Qt的四个常见的图像叠加模式)实现叠加图像功能的最理想工具是OpenCV。下面给出我的图像叠加示例代码,并加以解释。#include "overlapmat.h"#include #include #include usi原创 2017-02-12 11:22:17 · 13527 阅读 · 2 评论