
OpenCV
文章平均质量分 97
通信程序猿
https://linzhirui1992.github.io/zhiruilin.com/
展开
-
OpenCV常用知识点汇总
【长期不定时更新】1、opencv默认读取图像的BGR通道顺序img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB, 0) # 0表示读取为单通道灰度图,默认的是-1表示原图是几个通道就读取几个通道img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)# BGR转RGB2、opencv不能读取中文路径问题def cv...原创 2020-03-01 22:38:37 · 735 阅读 · 0 评论 -
【CUDA】BGR2GRAY
最近刚接触CUDA,先写一些简单的示例练习下。在图像处理中,三通道彩色图像BGR到灰度图Gray,常见的一般有两种计算方式,一种是基于浮点数计算,一种是基于性能优化的通过移位的整数计算。浮点数计算公式为: gray = 0.1140 * B + 0.5870 * G + 0.2989 * R整数计算公式为: gray = (1868 * B + 9617 * G + 4899 * R...原创 2020-02-26 19:46:47 · 1833 阅读 · 0 评论 -
基于SIFT的特征匹配
SIFT的全称是Scale Invariant Feature Transform,尺度不变特征变换,由加拿大教授David G.Lowe提出的。SIFT特征对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。具体工作原理见SIFT特征详解代码如下:# coding=utf-8import numpy as npimport cv2sift = cv2...原创 2019-12-28 21:35:08 · 920 阅读 · 0 评论 -
最大类间方差法(大津法OTSU)
算法介绍最大类间方差法是1979年由日本学者大津提出的,是一种自适应阈值确定的方法,又叫大津法,简称OTSU,是一种基于全局的二值化算法,它是根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳阈值时,两部分之间的差别应该是最大的,在OTSU算法中所采用的衡量差别的标准就是较为常见的最大类间方差。原创 2016-07-23 16:15:19 · 64952 阅读 · 6 评论 -
Cmake:编写CMakeLists.txt文件编译C/C++程序
1.CMake编译原理CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:1、cmake2、...原创 2019-06-01 00:21:01 · 4908 阅读 · 0 评论 -
linux安装opencv3.4.5+opencv_contrib (ubuntu16.04/CentOS7)
我的电脑系统是Windows10,但现在需要在Ubuntu上安装OpenCV,所以首先要在Windows10上装个linux子系统。1、安装ubuntu16.04Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。参考资料[1][2],在安装任何 Linux 发行版本之前,必须确保...原创 2019-05-07 20:00:09 · 10425 阅读 · 2 评论 -
opencv调用caffe/tensorflow模型
我的环境配置是python 3.6.2 + opencv 3.4.5。下面是crowd counting计算人群密度图的代码。# coding:utf-8from __future__ import print_functionimport numpy as npimport pylabimport matplotlib.pyplot as pltimport cv2fr...原创 2019-04-04 18:56:23 · 4679 阅读 · 0 评论 -
gamma校正
直接上公式f(I)=I^gamma,I为原图像素值,f(I)为gamma校正后的像素值。gamma1在低灰度值区域内,动态范围变小,图像对比度降低,图像整体灰度值变小,变得暗淡。gamma校正的实现代码如下:#include #include #include #include #define DirectIplImage *srcImg = NULL, *dst原创 2016-09-30 20:33:14 · 5807 阅读 · 3 评论 -
yuv转avi
本文主要是介绍下用MFC实现如何将UYVY中Y分量提取出来,保存为.avi格式的视频文件。原创 2016-08-20 19:38:32 · 3617 阅读 · 0 评论 -
数据标定小工具
为了方便在制作机器学习所需的样本数据,提高工作效率,写了一个简单的矩形框标定并保存标定图像的程序,相关程序可由VS2012+OpenCV2411生成,默认对352*288大小的视频手动进行目标样本截取并保存。先切换到程序marksave的目录下,需要在目录下分别建立一个叫avi和obj的文件夹,前者放视频,后者存放标定的样本数据,然后在cmd命令行中输入相关参数。注意输入参数格式依次如原创 2016-09-10 10:26:53 · 3826 阅读 · 0 评论 -
二进制dat格式数据转十六进制输出
.dat文件有两种类型:一种是数据文件,另外一种是VCD的媒体文件。 多数情况下dat文件是程序使用的数据。对于.dat格式的数据文件可以用C语言读写文件的方式,将.dat的二进制数据转为十六进制存储在一个数组里面,供程序调用。注意设置使用多字节字符集,以免读取输入文件名时出错。话不多说,直接放代码,如下:// dat2to16.cpp : 定义控制台应用程序的入口点。/原创 2016-09-10 09:54:00 · 6368 阅读 · 0 评论 -
双边滤波器原理及实现
双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显原创 2016-08-01 18:06:00 · 10595 阅读 · 0 评论 -
卡尔曼滤波(Kalman filtering)小结
最近项目用到了kalman滤波,本博文简单介绍下卡尔曼滤波器的概念、原理和应用,做个小结。概念卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。原创 2016-07-30 14:10:57 · 26634 阅读 · 0 评论 -
OpenCV鼠标响应信息
OpenCV鼠标响应转载 2016-07-26 11:48:13 · 548 阅读 · 0 评论 -
OpenCV混合高斯背景建模
本文主要内容是一个混合高斯背景建模[1]的OpenCV例子。原创 2016-07-26 18:49:22 · 2579 阅读 · 1 评论