OpenCV
文章平均质量分 73
一点儿也不萌的萌萌
一名在自动驾驶领域默默付出的无名小卒
展开
-
你真的了解cv::Mat, const cv::Mat, const cv::Mat&, cv::Mat&的区别吗?
Mat作为OpenCV中使用率最高的类,它的数据包括两个部分:矩阵头和指向像素矩阵的指针。矩阵头:描述像素矩阵,主要包括矩阵的尺寸、存储方式、存储地址等,矩阵头的大小固定。矩阵指针:矩阵指针所指对象代表了图像本身,其尺寸会根据图像的不同而不同。像素矩阵一般比矩阵头大几个数量级,因此,拷贝图像会产生很大的计算量。深拷贝和浅拷贝的区别:cv::Mat的深拷贝和浅拷贝的却别就在于是否重新拷贝一份数据指针指向的数据?浅拷贝只是重新拷贝Mat的矩阵头,并不拷贝数据指针指向的数据,也就是说新生成的和之前的共原创 2020-09-11 17:11:06 · 3549 阅读 · 1 评论 -
OpenCV报错:error: (-215:Assertion failed) type == B.type() in function 'gemm'的原因,修改方法
1.问题OpenCV在做Mat矩阵运算的时候报如下错误:error: (-215:Assertion failed) type == B.type() in function 'gemm'如下代码就会报此错误: cv::Mat A(3,3,CV_32F); cv::Mat B(3,3,CV_64F); std::cout << A*B <<...原创 2020-02-01 20:58:47 · 7211 阅读 · 0 评论 -
OpenCV中cv::recoverPose()函数详细介绍和用法,以及求解出的R,t的坐标相对关系
在OpenCV中cv::recoverPose()函数主要是用来从本质矩阵中恢复R,tR,tR,t 该函数在OpenCV中一共有以下这几种形式:int recoverPose( InputArray E, InputArray points1, InputArray points2, InputArray cameraMatrix, OutputArra...原创 2020-01-30 17:13:13 · 15481 阅读 · 75 评论 -
OpenCV中图像Mat常用的浅拷贝和深拷贝操作和区别传值、传引用、clone()、copyto()
在OpenCV中,Mat类使用非常广泛,对于Mat容器的拷贝方式将对程序运行效率产生很大的影响,在Mat中效率最高的浅拷贝,效率较低的是深拷贝。1.什么是深拷贝和浅拷贝?深拷贝:将数据拷贝到一段新的内存中,源数据和拷贝之后的数据在内存中相互独立,改变任何一个都不影响另外一个。浅拷贝:浅拷贝只是将要拷贝数据的地址拷贝到一个新的Mat中,源数据和拷贝后的数据同一段内存中的数据,只要对应内存中的数...原创 2019-11-14 16:54:02 · 2491 阅读 · 0 评论 -
OpenCV中Mat的建立,高维度Mat的建立,以及各维度下值的索引问题,详细解析!
你看完这篇文章之后,将学会以下知识:① 二维、三维、四维等任意维度的Mat的常用建立方法;② 任意维度Mat中值的索引;③ 以及一些Mat常用的操作。下面是对各维度矩阵的介绍: 注意:下面的操作只是我常用的操作方法,不是唯一的方法,对于那些没有思路的同学,下面的内容希望起到抛砖引玉的效果。 我以单通道的uchar类型的图片做例子1. 二维Mat 二维的Mat是我们最常使用...原创 2019-11-05 20:33:16 · 7335 阅读 · 8 评论 -
OpenCV中blobFromImage函数详细解释
OpenCV中blobFromImage函数详细解释在OpenCV 3.3之后的版本中,支持调用训练好的深度学习框架,其中有一些重要的函数,今天先总结一下blobFromImage函数的用法。在进行深度学习或者图片分类时,blobFromImage主要是用来对图片进行预处理。包含两个主要过程:整体像素值减去平均值(mean)通过缩放系数(scalefactor)对图片像素值进行缩放下...原创 2019-08-23 19:07:53 · 27380 阅读 · 10 评论