图像算法
佚明zj
此人不懒,什么也没留下
展开
-
记录一个opencv Mat的data指针的坑
opencv Mat的data指针原创 2023-01-10 18:51:58 · 229 阅读 · 0 评论 -
RGB相机标定
RGB相机标定:输入:需要10-20张棋盘格图片(分辨率越高越好,因为结果的单位是以pixel的尺寸计的)输出:主要我们需要的信息内参矩阵,畸变参数内参矩阵表示焦距的参数:fx,fy 主点偏移x0,y0(坐标原点左上角)畸变参数:径向畸变(Radial distortion): 主要两类桶形畸变,2 枕形畸变 ,都是由于镜头本身造成的一般用k1,k2,k3表示, index越大表示阶数越高,也就越不重要切向畸变(Tangential distortion)...原创 2020-10-29 20:46:09 · 1011 阅读 · 0 评论 -
传统图像算法之绪论
传统的图像算法可以帮我们解决很多实际的问题,在深度学习大热的背景之下,我还是想整理一下关于传统算法的一些基本知识以及相关的算法。主要的内容实现,因为没有太多的时间从头开始写,所以基本上会以《数字图像处理》这本书为顺序,对图像算法进行一个总结,涉及到的一些算法展示,基本上是以opencv去实现。整理完这一波之后,下面我也会自学深度学习的框架知识,后面会出一些深度学习的系列博客。希望我能坚持给大家...原创 2019-09-03 21:05:23 · 136 阅读 · 0 评论 -
PCA和SVD总结
PCA实际上可以通过SVD去实现,PCA本质上就是SVD的列方向的一个降维,不仅SVD可以做列方向的降维,还能做行方向的降维。PCA的推到需要用到两个方面的知识:矩阵求导和拉格朗日乘子法。矩阵求导:https://blog.csdn.net/daaikuaichuan/article/details/80620518#commentBox拉格朗日乘子法(看计算过程即可,大学学过,有点忘...原创 2019-03-26 18:29:23 · 409 阅读 · 0 评论 -
opencv形态学中的开闭操作的用途
开运算:先腐蚀后膨胀,开运算可以用来消除小的块,纤细点处分离物体,并在平滑较大的物体边界的同事不明显的改变其面积闭运算:先膨胀后腐蚀,消除小型的黑洞,参考;https://blog.csdn.net/weixin_41929524/article/details/81232575...原创 2019-02-28 11:35:10 · 1626 阅读 · 0 评论 -
Opencv 如何保存原始数据图以及如何按原值读取
最近在用深度相机,因为深度相机的值是以毫米为单位,都是几千,所以如果直接imwrite的话,会被直接归一化到0-255.按照原值进行保存: 我的相机输出的深度值是以CV_16UC1类型,vector<int> compression_params;compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION); //PN...原创 2018-12-11 20:51:06 · 2013 阅读 · 0 评论 -
Mat的操作的row和col总结
经常忘了他两哪个在前哪个在后1.at访问像素点的value的时候一定是row在前,映射到坐标系就是y在前(row) 实际上是at<type>(row,col)2.申明Mat()的时候,Mat(rows,cols,type)3.申明size的时候,Size(width,height)4.申明rect的,Rect(x,y,width,height) 总结:只要是涉及...原创 2018-11-20 16:51:30 · 10754 阅读 · 0 评论 -
如何安装opencv的contrib(xfeature等)
不知道从3.x开始,opencv就已经不支持免费用一些库了,比如sift,surf这些,因为我最近需要用到,就装了一下,github上有源码,但是安装的时候我出现了很多问题,现在总结一下,方便大家安装。首先从https://github.com/opencv/opencv_contrib这里clone下下来源码。然后运行cmake-gui,这个可视化,比较方便。将extra-什么第三方库的...原创 2018-11-02 10:37:53 · 2759 阅读 · 5 评论 -
RANSAC算法以及图像算法中的应用
Ransac的缩写是Random Sample Consensus。Ransac算法的直线拟合算法大致步骤如下:k是迭代次数,n是每次采样点个数,t是拟合的阈值,如果是直线拟合,可以理解为check的点到拟合出的直线距离,小于则是inliner否则为outliner。如果迭代过程中,发现有合适的足够的点满足,那么就认为这个模型是比较优良的模型,将优良的模型中的内点以及可能的内点,重...原创 2019-01-09 20:07:38 · 1542 阅读 · 1 评论 -
opencv minAreaRect获取最小方框函数总结
不得不说,opencv的函数还是很丰富的,最近项目需求发现opencv还有minAreaRect这个函数,这个函数的功能就是:@param points Input vector of 2D points, stored in std::vector\<\> or Mat */ CV_EXPORTS_WRotatedRect minAreaRect( InputArray point...原创 2018-10-01 11:03:41 · 4246 阅读 · 0 评论 -
opencv常用函数总结
最近做图像处理项目,总结一下常用的函数:1,converto :函数转为任意想要的格式,以及可以添加归一化系数,这个系数可能要用到mat的最大值和最小值,下面这个函数可以取出最大最小值2,cv::minMaxLoc(mat,&minim,&maxim);,取出的最大最小值为double类型,注意,也可以输出最大最小值的位置Point3,sobel出来的图像可能含有负...原创 2018-08-28 00:01:06 · 529 阅读 · 0 评论 -
Opencv的Mat数据类型转换
其实用一个函数就可以,就是src.convertTo(dst, type, scale, shift)缩放并转换到另外一种数据类型:dst:目的矩阵;type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型相同;scale:比例因子;shift:将输入数组元素缩放后添加的值;这里的比例因子是对与像素的操作,假设你的原图是0-255...原创 2018-08-10 19:56:15 · 7948 阅读 · 0 评论