opencv 学习笔记
Lammyzp
这个作者很懒,什么都没留下…
展开
-
opencv 高斯混合模型BackgroundSubtractorMOG2实现目标跟踪
此篇文章是学习csdn学院的个教程视频中的例子,于是跟着视频自己也学着实现了。先得准备一些基本的图像操作知识。基本的一些图像操作主要为图像的缩放、高斯模糊、颜色空间转化、二值化#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp原创 2017-08-12 16:11:06 · 5375 阅读 · 3 评论 -
android studio 配置 opencv for android
之前的利用java命令编辑生jni文件的方式已经out了,本文主要介绍利用cmake插件来实现opencv for android 的配置和使用,掌握了cmake文件想配置其他的算法移植等工作也是一样的原理。配置 android studio 2.3以后的版本较好 cmake插件 opencv for android 这个可以在opencv网站上去下载解压后的目录如下图: 想利用opencv原创 2017-11-28 17:33:27 · 1530 阅读 · 0 评论 -
傅里叶变换 opencv实现
傅里叶变换的文章很多,可能始终不是自己领悟的,看起来很费劲,但没办法硬着头皮看,终于找到了一篇不错的博客:如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】 当然原文来自知乎:https://zhuanlan.zhihu.com/p/19763358。其中从不同角度 并且利用图片很好的讲解了如何理解傅里叶变换。这里罗列下自己的理解,其中一些图片来源于此篇博客,理解有误的地方也欢迎大家指正。...原创 2019-02-20 18:11:30 · 646 阅读 · 0 评论 -
opencv 分离颜色通道split和多通道图像融合merge
通道分离split原型void split(const Mat& src, Mat* mvbegin);void split(InputArray m, OutputArrayOfArrays mv);第一个参数为要分离的多通道图,第二个参数为分离出来的通道数组或者vector容器通道融合merge原型// mv 可以是 Mat 类型数组void mer...原创 2019-02-19 19:10:49 · 688 阅读 · 0 评论 -
opencv LUT 查表函数简介
目前一些相机和美颜滤镜算法使用的是3dlut,通过颜色 映射来达到滤镜 美肤的目的,因此生成的像素需要查找调整好的颜色表。opencv 官方文档强烈推荐使用LUT函数来进行。原型: void LUT(InputArray src, InputArray lut, OutputArray dst);src:目标图像,可以是单通道也可以是多通道lut:映射表格,当src为单时,必须为...原创 2019-02-19 17:01:20 · 1384 阅读 · 8 评论 -
opencv Mat类的介绍
Mat简介Mat类是我们使用opencv处理图像必定会用到的类。在使用时候我们需要知道:1、不必手动为其开辟空间2、不必在不需要时立即释放空间mat类由两个数据部分组成:矩阵头(包含矩阵尺寸、存储方式、存储地址) 和 一个指向所有像素值的矩阵(根据所选存储方式不同,矩阵可以是不同维数)的指针。矩阵头占用开销很小,主要开销为像素值矩阵。opencv使用引用计数机制,让每个Mat有...原创 2019-02-19 15:20:54 · 1528 阅读 · 0 评论 -
opencv 鼠标操作
opencv也可以捕捉鼠标事件,函数原型@param winname Name of the window.@param onMouse Mouse callback. See OpenCV samples, such as<https://github.com/opencv/opencv/tree/master/samples/cpp/ffilldemo.cpp>, ...原创 2019-02-19 13:53:50 · 410 阅读 · 0 评论 -
opencv 简单的图像融合addWeighted
需求:opencv 将图像打上logo并保存这张图片,如下图,将logo 打到 image上,融合函数主要在于方法addWeighted(imageROI, 0.5, logo, 0.3, 0., imageROI); void addWeighted(InputArray src1, double alpha, InputArray src2, ...原创 2019-02-19 11:09:57 · 3200 阅读 · 0 评论 -
快速双边滤波实现美颜
快速双边滤波 双边滤波的原理网上有很多博客讲到,就是考虑到空间、和值域2方面来滤波,来达到保证滤波后的图像边缘保存较好。快速滤波的方式很多,大家看看看这些文章http://people.csail.mit.edu/sparis/bf/。本文使用到的快速双边滤波是参考的这篇文章:快速双边滤波 附完整C代码,参考论文则参考得是https://github.com/Fig1024/OP_RB...原创 2019-02-22 20:08:45 · 2635 阅读 · 0 评论 -
opencv项目属性表配置
1、新建项目,打开属性管理器,根据下图红框中选择当前系统和版本选择对应的目录 debug x64,然后右键 debug|x64 ,选择“添加新项目属性表”,我命名为“opencv_debug_x64”,如下图建好好有此文件。2、双击此属性文件,进行opencv的环境配置,如下图黑体部分,就是配置的opencv的路径,注意release和debug配置环境的不同opencv_world341...原创 2019-02-15 12:29:16 · 1880 阅读 · 0 评论 -
opencv VideoCapture读取视频帧率、获取摄像头数据
opencv是利用ffmpeg来对视频进行解码出每一帧,然后来显示的。这里直接给出两个函数,大家调用2个函数就可以实现对视频的帧率的读取和 摄像头帧的获取。读取视频:void readVideo(String path){ VideoCapture capture(path); while (true) { Mat frame; capture >> fr...原创 2019-02-01 10:51:50 · 26017 阅读 · 9 评论 -
opencv 照片动漫风格
最近对图像处理十分感兴趣,也学着用opencv 实现各种简单的图像处理,因此,有了下面的实验,就是将照片处理成漫画的风格。思路是从知乎上所得:https://zhuanlan.zhihu.com/p/24416498,该方法对风景图片漫画风格化比较好,但对人的效果还不是很好需要改进,若后续有了好的思路再跟新。对照片进行动漫话一般需要四个步骤 **1、边缘检测 2、将边缘检测得到的边缘 以黑色的形原创 2017-08-13 19:41:16 · 20919 阅读 · 2 评论 -
opencv canny边缘检测cvCreateTrackbar 的使用
图像处理中经常要进行边缘检测,其中canny边缘检测是一种比较好的边缘检测方法,opencv中也提供了方法,下面的例子就是利用opencv来实现的,以前也用纯java实现过,关于原理请参看一下我的另外一篇博客:http://www.cnblogs.com/bokeofzp/p/6057952.htmlopecv canny算法#include <opencv2/core/core.hpp> #原创 2017-08-12 20:11:11 · 1315 阅读 · 1 评论 -
opencv 图像读取显示和像素操作
从今天起,开始从头系统学习下opencv,下面记录下图像的基本操作:1. 图像的读取和显示char *f = "E:\\opencv\\opencv\\sources\\samples\\wp8\\OpenCVXaml\\OpenCVXaml\\Assets\\Lena.png"; Mat lena; lena = imread(f); imshow("lena", lena原创 2017-08-12 13:18:08 · 12845 阅读 · 0 评论 -
vs2017配置 opencv4.01
1、下载opencv4.012、进行 环境变量配置配置x15/bin的路径到系统环境变量opencv\opencv\build\x64\vc15\bin否则会报错找不到opencv_world401d.lib的错误3、include的配置必须配置2个:opencv\opencv\build\includeopencv\opencv\build\include\op...原创 2019-05-02 16:27:25 · 287 阅读 · 0 评论