Opencv
文章平均质量分 65
Heidi_Liu
这个作者很懒,什么都没留下…
展开
-
【Opencv学习(二)】内存溢出和内存泄漏总结
内存溢出原因总结:1. 图像载入路径出错。 在Opencv中,图像载入路径用双斜杠,例如:"D: \\ my_image.jpg".2. 如果确认图像载入路径完全正确,那么应该考虑载入图片的深度,是什么样的图像类型。具体的类型应该是和你下面所用到的函数有关,一般而言,函数所需的输入图像格式应该和你载入的图像格式一致,否则也会出现内存溢出。3. 在写读大量图片时,例如:发原创 2017-03-16 11:19:15 · 14695 阅读 · 0 评论 -
Accumarray函数在c++中的实现
arma::mat accumarray (arma::mat& subs, arma::vec& val, arma::rowvec& sz){ arma::u32 ar = sz.col(0)(0); arma::u32 ac = sz.col(1)(0); arma::mat A; A.set_size(ar, ac); for (arma::u32 r翻译 2017-04-27 15:45:52 · 986 阅读 · 1 评论 -
【opencv常见错误】Compiler Error: Function call with parameters that may be unsafe
Compiler Error: Function call with parameters that may be unsafe解决方案:在preprocessor define部分加上:#pragma warning( disable : 4996 ) 。未完待续原创 2017-04-26 16:52:59 · 350 阅读 · 0 评论 -
Opencv常用函数
一.图像读写与简单处理1. Mat cv::imread(const String& filename, int flags=IMREAD_COLOR).imread函数加载filename图像,读入时,原始图像数据不可被修改。 flags可取的值如下:IMREAD_UNCHANGED(原始图像是什么,读入的就是什么), IMREAD_GRAYSCALE(始终将图像转换为单通道灰度转载 2017-04-24 15:02:34 · 989 阅读 · 0 评论 -
OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解
OpenCV中对Mat里面depth,dims,channels,step,data,elemSize和数据地址计算的理解(转)cv::Matdepth/dims/channels/step/data/elemSizeThe class Mat represents an n-dimensional dense numerical single-channel or转载 2017-04-24 14:56:31 · 586 阅读 · 0 评论 -
Opencv中的数据类型
opencv中,由于使用Mat.at访问数据时,必须正确填写相应的数据类型,因此必须弄清楚opencv中的数据类型与我们常用 数据类型一一对应关系。Mat_---------CV_8UMat-----------CV_8SNat_---------CV_16SMat_--------CV_16UMat_-----------CV_32SMat_----------CV_32FMat_-------原创 2017-04-24 14:46:20 · 843 阅读 · 0 评论 -
Opencv中sort函数
在 MATLAB 里,返回排序后的矩阵以及对应原矩阵的索引是在 sort 一个函数搞定,但在 OpenCV 中,其功能分别被分配到了 cv::sort 和 cv::sortIdx 里,cv::sort 负责返回排序后的矩阵,cv::sortIdx 负责返回对应原矩阵的索引。还有在 MATLAB 里,1 和 2 用来分别指示是对列还是对行进行排序,'ascend' 和 'descend' 用原创 2017-04-21 17:17:05 · 13100 阅读 · 0 评论 -
MATLAB和Opencv中数据类型转换
最近在将一个matlab的程序导成C+opencv。在运算过程中为了精度,通常在matlab中会将图像的数据类型转换为double,而在opencv中我们通常用的数据类型都是IPL_DEPTH_8U,为了跟matlab中相统一也就是为了精度的,在opencv中发现同样也存在精度的转换函数。现总结如下:Matlab中的图像数据类型转换 MATLAB中读入图像的数据类型是uint8,而转载 2017-04-20 23:30:54 · 1741 阅读 · 1 评论 -
OpenCV中对数组(矩阵)的常用操作
OpenCV中对数组(矩阵)的常用操作 add矩阵加法,A+B的更高级形式,支持maskscaleAdd矩阵加法,一个带有缩放因子dst(I) = scale * src1(I) + src2(I)addWeighted矩阵加法,转载 2017-05-02 23:00:22 · 1704 阅读 · 1 评论 -
Opencv Mat矩阵点乘
Mat矩阵点乘——A*BOpenCV重载了运算符“*”,姑且称之为Mat矩阵“点乘”,其中一个重载声明为:[cpp] view plain copy print?CV_EXPORTS MatExpr operator * (const Mat& a, const Mat& b); 点乘转载 2017-05-02 22:58:13 · 1307 阅读 · 0 评论 -
Opencv中convertTo函数
常见问题:原Mat类型是CV_8UC1的,用Mat.convertTo(Mat,CV_64FC1)转换一下type,为什么原图像是这样的:但是转换完了却变成了这样的OpenCV的convertTo函数如果第三个参数使用默认的话,就会导致数值只是类型的改变,但在浮点数表示的颜色空间中,数值范围是0-1.0。显然按你这样调用的话,基本上所有像素都转换成大于1的浮点数原创 2017-04-30 10:43:29 · 14492 阅读 · 0 评论 -
OpenCV中Mat详解
本文转自http://blog.skyoung.org/2014/03/26/OpenCV(III)-How-to-use-Mat/Mat类是OpenCV最基本的一个数据类型,它可以表示一个多维的多通道的数组。Mat常用来存储图像,包括单通道二维数组——灰度图,多通道二维数组——彩色图。当然也可以用来存储点云,直方图等等,对于高维的数组可以考虑存储在SparseMat中。对于一个Mat对象转载 2017-04-04 13:17:29 · 703 阅读 · 0 评论 -
【Opencv学习(一)】VideoCapture读数据内存泄漏
对于一个视频文件,如果用循环语句反复的调用VideoCapture::read(frame) 或者“>>”读图像时,会发生内存泄漏,程序崩溃。int main(){ cv::VideoCapture m_vp("D:\\testVideo.avi"); if(!m_vp.isopened) { std::cout<<"Read video failed!";原创 2017-03-16 11:03:11 · 6692 阅读 · 3 评论 -
C++中怎样将整型值转换为字符串
最简单的方法是使用一个字符串流(stringstream):#include#include#includeusing namespace std;string itos(int i) // 将int 转换成string{ stringstream s; s return s.str();}int main(){ int i =转载 2017-04-27 16:20:46 · 15206 阅读 · 0 评论