opencv
图像处理实践
BHY_
这个作者很懒,什么都没留下…
展开
-
【opencv】树莓派上OpenCV-Face-Recognition人脸识别配置
针对github上:https://github.com/Mjrovai/OpenCV-Face-Recognition$pip3 install opencv-python #安装opencv$pip3 install opencv-contrib-python #安装opencv的contrib扩展包$sudo apt-get install libhdf5-serial-dev //...原创 2018-07-06 11:47:10 · 7245 阅读 · 0 评论 -
【opencv3.3】VS2015+opencv3.3 GPU模块编译(包含opencv_contrib模块)
据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很多我们经常要用的算法,比如SIFT,SURF等(在xfeatures2d 模块里边)。官网提供了说明,可以把opencv_contrib扩展模块添加编译到已安装的opencv3里边。同时我们还需要编译opencv的G原创 2017-11-15 09:39:38 · 13158 阅读 · 8 评论 -
【arm】ubuntu mate下配置qt与opencv最快捷的方法
黑色的句子可忽略,红色的为必须因为在板子上编译opencv的时候遇到FFMPEG模块编译报错的情况,具体问题是:https://stackoverflow.com/questions/28319376/installing-opencv-in-ubuntu-14-10,所以直接下载编译好的opencv来用核心板全志V40,底板BV3,系统ubuntu mate 15.04qt的原创 2017-11-29 10:01:37 · 2118 阅读 · 1 评论 -
【opencv3.0】鱼眼图像畸变校正——标定校正 17/11/14更新代码
前两天发表的时候没注意,代码出了点错误,所以修改了一下,重新发上来。 参考: http://docs.opencv.org/3.0.0/db/d58/group__calib3d__fisheye.html#gga91b6a47d784dd47ea2c76ef656d7c3dca0899eaa2f96d6eed9927c4b4f4464e05 http://docs.opencv.org/ma原创 2016-05-18 08:53:15 · 65139 阅读 · 89 评论 -
【qt】QT5.7.0+opencv2.4.9配置
现有的文章很多,但是自己编译的时候也遇到了问题,记录下来参考:http://blog.csdn.net/kaychangeek/article/details/52303949http://blog.csdn.net/qiurisuixiang/article/details/8665278/1、QT安装2、opencv2.4.9安装3、添加环境变量op原创 2017-08-26 16:28:56 · 5197 阅读 · 2 评论 -
【opencv】普通相机标定畸变校正 17/8/17更新
普通相机畸变校正原创 2016-05-21 17:55:27 · 17053 阅读 · 8 评论 -
【opencv】显示中文汉字
采用windows的GDI显示系统的TrueType字体,没有封装,就两个函数,分成了h和cpp文件,可以自己编辑文件名和函数名,亦可以直接将cpp的代码复制到你需要的程序中。FReeType打包的win32的静态库是可以在C#通过dll引用进行调用,这需要其版本跟CvxText对应,否则会出现错误,其在x64平台也一样。putText.h#ifndef PUTTEXT_H_#d转载 2017-09-12 17:25:34 · 2918 阅读 · 1 评论 -
【opencv】sift + RANSAC
#include "opencv2/nonfree/nonfree.hpp" #include "opencv2/nonfree/features2d.hpp" #include "opencv2/legacy/legacy.hpp"#include #include using namespace cv; using namespace std; int main转载 2017-09-20 15:37:11 · 1584 阅读 · 0 评论 -
【opencv】泰森多边形
原文没有产生随机数种子,已加上。#include #include #include #include using namespace cv;using namespace std;//随机产生一个点集vector generatePointSet(int n,Rect rect){ vector pointSet; srand((int)time(0));转载 2017-09-20 10:47:54 · 1208 阅读 · 0 评论 -
【opencv】圆检测(非hough)
hough圆检测不是很稳定,需要调节的参数也比较多,即便半径都调节到合适的范围内,但是结果有时候仍然存在较大偏差,但是hough受噪声影响小,不受轮廓不连续影响。但是如果存在比较完整的轮廓,也可以直接对轮廓进行一个圆的检测。依据为圆的定义,“平面上到定点的距离等于定长的所有点组成的图形叫做圆.”//************************************// Desc原创 2017-09-27 21:47:03 · 3506 阅读 · 3 评论 -
【opencv】vc6.0中opencv打开摄像头失败解决方法
因为要修改的工程是VC6.0下的,只能用opencv1.0读取摄像头,但是在读取的过程中出现了各种问题问题描述:opencv1.0版本的摄像头驱动不兼容win7http://www.xuebuyuan.com/2124092.htmlhttp://blog.csdn.net/williamvalentine/article/details/6599313 (这篇是DirectSh原创 2017-08-15 21:27:12 · 2006 阅读 · 1 评论 -
【opencv】orb配准
#include <iostream> #include "opencv2/opencv.hpp" #include "opencv2/core/core.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/highgui/highgui.hpp" using namespace ...转载 2019-05-17 00:16:31 · 1178 阅读 · 2 评论 -
【c++】修改jpg图像的dpi
opencv处理保存后的图像,会改变其原来的dpi数值先调用读取jpg图片的dpi函数,然后opencv保存后,再写入原先的dpi值下面是修改jpg图片的dpi函数bool SetResolution(const char* path, int iResolution) { FILE * file = fopen(path,"rb+");// - 打开图片文件 if (!file)ret...原创 2018-05-30 11:18:58 · 6760 阅读 · 1 评论 -
【opencv】提取论文中曲线坐标重新拟合绘制
原图 剪切出并处理的曲线导出到csv格式最后在matlab中进行拟合或者直接绘制,或者平滑绘制opencv代码#include <opencv2/opencv.hpp>#include <iostream>#include <fst...原创 2018-03-21 16:32:35 · 4046 阅读 · 1 评论 -
【opencv】viz 3D虚拟空间模块编译及使用
版本:opencv2.4.9 + vtk6.1.01、vtk6.1.0使用cmake编译下载地址:http://www.vtk.org/files/release/6.1/VTK-6.1.0.zip打开cmake,设置路径选择好编译器,然后【Configure】【Generate】【Open Project】即可,分别选择Debug和Release,右键ALL_INST原创 2018-02-01 15:40:40 · 2270 阅读 · 0 评论 -
【opencv】轮廓高斯滤波平滑
一个小测试的题目:在图像上点选,找到与点选处相邻的颜色相近的点集合,对该点集合提取轮廓,对该点集合轮廓平滑处理,显示处理结果。原创 2017-11-13 12:04:01 · 7507 阅读 · 0 评论 -
【opencv】动态背景下运动目标检测 FAST+SURF+FLANN配准差分 17/12/13更新图片
FAST检测特征点+SURF描述特征点速度上要比SURF在多尺度下检测特征点后描述要快的多在自己的电脑上做了两种实验的对比,通过VS性能分析可以看到结果代码功能SURF提取描述FAST提取SURF描述特征点提取24.2%0.9%特征点描述25%14.7%原创 2017-06-27 14:52:08 · 8153 阅读 · 31 评论 -
【c++】C与C++的相互调用问题&opencv list not found
在实际工作中可能经常要进行C和C++的混合编程,C++调用C语言的代码通常都比较容易,但也有一些细节需要注意。C要调用C++的代码就略为麻烦一些,因为C不支持面向对象的特征。下面我们就来看看如何在C语言中使用C++的代码(包括C++类的方法)。为了简单起见,我将类的定义和实现放在一个文件中(通常应该是将分别放在.h和.cpp文件中)。自定义类文件(这里省略了头文件保护等其它细节转载 2017-12-12 19:49:38 · 776 阅读 · 0 评论 -
【opencv】单目标定测量以及遇到的问题
继上篇双目视觉下的空间坐标计算:http://blog.csdn.net/qq_15947787/article/details/53366592结合普通相机标定流程:http://blog.csdn.net/qq_15947787/article/details/51471535单目标定测量这里只是简单的通过一个相机测量桌面(标定板平面为固定平面)上其他物体的尺寸。 图像上的点与...原创 2018-09-15 10:46:11 · 2667 阅读 · 5 评论 -
【vscode】使用vscode多源文件结合opencv编译调试 C/C++
使用vscode多源文件结合opencv库进行开发1、新建文件夹OPENCVTEST2、添加文件main.cpp内容如下:#include "Lib/OpencvTest.h"#include int main(){ OpencvTest* opencvtest = new OpencvTest(); opencvtest->readImage();原创 2017-12-08 14:53:41 · 11324 阅读 · 2 评论 -
【opencv】VS2015+opencv2.4.13 GPU模块编译
这个本来不是新鲜事情了,但是在编译的时候出现了一些问题,不得不去百度,发现很多文章赘述太多,所以还是记录一下,我这里下载的是opencv2.4.13.4,2017年10月12日的版本。1.点[Brouse Source…],选择OpenCV源码那个sources文件夹的路径。 点[Brouse Build…],选择要生成的工程的路径。如下图:2.点击原创 2017-11-15 21:26:39 · 1632 阅读 · 1 评论 -
【opencv】opencv各版本与VS配置
opencv1.0(支持vc6.0)与vc6.0配置假设安装到E盘下1、添加环境变量 path下 E:\opencv1.0\bin2、打开vc6.0进行配置,选择tools->options->Directories,选择include files在下方填入路径E:\opencv1.0\cxcore\includeE:\opencv1.0\cv\include原创 2016-03-02 11:34:02 · 8751 阅读 · 0 评论 -
【opencv】支持向量机CvSVM分类
有关于SVM的理论可以参考opencv_tutorials.pdf 译文可以参考博客: http://blog.csdn.net/dwb1015/article/details/12841305本文通过svm进行多类分类 源码如下://编程环境:VS2012 + Opencv2.4.9#include <fstream>#include <iostream>#include <openc原创 2016-05-11 16:03:46 · 1676 阅读 · 0 评论 -
【opencv】显微镜/投影仪 圆阵列标定板标定
由于在显微镜以及投影仪下,棋盘格角点提取会非常不准确,因此必须采用圆形阵列标定板进行标定,opencv里本身提供了圆形阵列标定版的接口,然而在显微镜以及投影仪下却提取不到,因为标定板很小(显微镜下才6mm*6mm)经过放大,圆变形很严重,因此这里通过另外的方法求取。拍摄的部分标定图如下:在显微镜视场中,前景与背景区别很大,直接固定阈值128得到二值图即可,在原创 2017-07-26 14:30:44 · 3387 阅读 · 3 评论 -
【opencv】Mask影像匀光算法实现
原文:http://blog.csdn.net/lydujing/article/details/50786631原文代码运行时会报错,下面代码直接拷贝的原文代码,如果报错,只需将代码第21行注释。#include #include #include #include using namespace cv;using namespace std;Mat getFFT转载 2017-07-26 16:59:47 · 4710 阅读 · 2 评论 -
【opencv】支付宝AR实景红包领取方法
最新的支付宝10.0.0增加了AR实景红包功能。如何不通过寻找实景去得到红包呢?今天早上突然想抢几个红包,于是写了个小程序 首先找到一个周围的红包,点击“按住看线索”,然后屏幕截图。然后提取出线索区域,对该区域的栅格线填充。 对于画质清晰点的得到的效果还是不错的。 截图是在mate8上截图的。需要手动修改一下“线索”区域的左上角点和右下角点坐标新建原创 2016-12-24 11:54:56 · 1823 阅读 · 0 评论 -
【opencv】Camshift目标跟踪
Camshift原理CamShift算法的全称是"Continuously Adaptive Mean-SHIFT",即:连续自适应的MeanShift算法。其基本思想是对视频序列的所有图像帧都作MeanShift运算,并将上一帧的结果(即搜索窗口的中心位置和窗口大小)作为下一帧MeanShift算法的搜索窗口的初始值,如此迭代下去。简单点说,meanShift是针对单张图片寻找最优迭代结转载 2016-11-14 19:36:03 · 21535 阅读 · 16 评论 -
【opencv】hough圆变换
opencv中hough圆变换改进为霍夫梯度法检测,大大节省了运算时间。void HoughCircles( InputArray image,//输入图像8位 OutputArray circles,//数组或存储器 int method, //CV_HOUGH_GRADIENT 目前只有梯度法 double dp, //累加器图像分辨率 ≥1 double minDis原创 2016-03-04 15:19:00 · 2637 阅读 · 0 评论 -
【opencv】鱼眼图像畸变校正——透视变换
提出一种新的360度鱼眼镜头畸变多个视图校正方法,在球面透视投影基础上,进行透视变换,校正各个视角的图像畸变。 球面透视投影可以很好的解决正视图下畸变,但是对于周围其他角度视图则会引入透视效果,当然可以通过一点透视模型校正,在这里我利用opencv透视变换也可以更好的解决。另外还存在的问题是,球面透视投影会使得图像边缘拉伸很严重。原图球面透视投影(以空间左手坐标系,x轴为水平,y为竖直原创 2016-03-03 10:53:22 · 24401 阅读 · 17 评论 -
【opencv】神经网络识别美女
最近比较闲,想做一个判断是否是美女的算法 从网上搜集了一些图片,首先要提取这些图片中的人脸并保存作为训练集,可以参考文章: http://blog.csdn.net/qq_15947787/article/details/51393030下面是完整的代码//opencv2.4.9 + vs2012 + win7 x64#include <opencv2/opencv.hpp>#include原创 2016-05-13 14:06:30 · 12717 阅读 · 4 评论 -
【opencv】鱼眼图像畸变校正——双经度法
参考:基于双经度模型的鱼眼图像畸变矫正方法_魏利胜 注意:原文中公式14,15,17,18,22,23有误,均未考虑符号问题。双经度法适用与视场接近180°以及小于180°情况#include"cv.h"#include"cxcore.h"#include"highgui.h"#define X0 604 //圆心坐标#define Y0 478#define PI CV_PI双经度校原创 2016-05-18 09:10:11 · 17415 阅读 · 28 评论 -
【opencv】常用函数
1、cvLoadImage:将图像文件加载至内存;2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;5、cvReleaseImage:释放图像文件所分配的内存;6、cvDestroyWindow:销毁显示图像文件的窗口;7、cvCreateFileC转载 2016-03-03 17:22:50 · 3067 阅读 · 0 评论 -
【opencv】神经网络CvANN_MLP分类
参考 小魏的修行路 http://blog.csdn.net/xiaowei_cqu/article/details/9027617 文中向量坐标选择的不太直观,所以简单修改了一下关于opencv 神经网络函数的一些可以参考 water_93的博客 http://blog.csdn.net/water_93/article/details/51244987 在这篇中提到 CvANN_ML原创 2016-05-10 08:47:52 · 7693 阅读 · 1 评论 -
鱼眼图像视场估计
用ZEMAX例程中的鱼眼镜头设计,得到不同视场下的鱼眼图像。 140度 160度 180度 200度 世界坐标系中平行的直线在180度鱼眼图像中会相交与一点。小于180度无法相交。原创 2016-04-20 10:04:21 · 1924 阅读 · 2 评论 -
【opencv】角点检测
1、特征点的作用:使用特征点代表图像内容 运动目标跟踪 物体识别 图像配准 全景图像拼接 三维重建 2、Harris角点检测基本思想 角点定义 :窗口向任意方向的移动都导致图像灰度的明显变化 平坦区域:任意方向移动,无灰度变化 边缘: 沿着边缘方向移动,无灰度变化 #include "open原创 2016-03-30 11:03:32 · 2971 阅读 · 0 评论 -
【opencv】stitching图像拼接
本文的程序是采用MFC写的。点击图片路径,选择待拼接的图片目录,要主要该目录下只能存在图片文件,不能有其他类型文件,最后点击拼接即可。 界面如图: 原图:图片是盗取的,链接忘记了,大家有看到告诉我,我加上哦。展示的图片我有缩放,上传的附件里有原图的。 拼接结果: 附件链接:原创 2017-02-16 16:50:24 · 1726 阅读 · 2 评论 -
【opencv】邻域模版匹配
opencv的matchTemplate函数是对整幅图片进行运算,运算量较大。本文接上篇内容,即:http://blog.csdn.net/qq_15947787/article/details/55260002对于SURF目标检测中的多目标,通过鼠标左键单击事件,获得点击的图像坐标,计算当前图像中检测到的离点击位置最近的目标作为模版。上篇中提到了动态背景下运动目标的检测,但是SURF原创 2017-02-23 15:04:25 · 1438 阅读 · 2 评论 -
【opencv】批量人脸截取
想写一个基于神经网络的美女识别算法,所以从大量的图片中得到人脸就是很必要的一步了。#include <opencv2\opencv.hpp>#include <Windows.h>using namespace std;using namespace cv;void AllImagePro( string src, string dst, static int number );void de原创 2016-05-13 10:17:54 · 10638 阅读 · 7 评论 -
【opencv】凹点切分,种子计数,细胞计数前提 17/7/25更新
原博客为:http://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/53133357,但是原博客算法存在诸多问题,因此这里修改了一下。在常见的细胞计数,种子计数,总之XX计数中总会遇到物体重叠的情况,有重叠部分的物体颜色近似,这样会把多个物体计数成一个,寻找到凹点是解决该分割问题的关键。这里采用如下方法: 1、寻找原创 2017-07-06 18:12:39 · 11586 阅读 · 22 评论 -
【opencv】训练样本的批量制作
做XML需要较多的样本,一张一张截图非常累,有些XML可以是现成的,但是总要自己做自己的XML去识别一些东西,样本的制作就是一个很麻烦的过程,以下方法是针对一张图中有很多样本,直接用opencv截取保存的到samples文件夹下。为了方便,可以是固定大小,可以是拖动的截图大小。截取后按S键保存,不需要保存直接重新截取区域即可。#include #include #inclu原创 2017-07-06 20:34:32 · 1322 阅读 · 0 评论