OpenCV
文章平均质量分 71
山水之间2018
山水之间落花雨,悲欢之外快活人
展开
-
Python-OpenCV实战一(安装)
OpenCV简介用深度学习做图像处理的过程中,我们常常需要用到opencv库,OpenCV是计算机视觉领域应用最广泛的开源工具包,基于C/C++,支持Linux/Windows/MacOS/Android/iOS,并提供了Python,Matlab和Java等语言的接口,因为其丰富的接口,优秀的性能和商业友好的使用许可,不管是学术界还是业界中都非常受欢迎。本文将介绍Python下使...原创 2018-03-22 17:00:34 · 9327 阅读 · 1 评论 -
光流法运动目标检测
接上篇,OpenCV视频目标跟踪及背景分割器,本篇介绍OpenCV—python目标跟踪==》光流法回顾:目标跟踪是对摄像头视频中的移动目标进行定位的过程。实时目标跟踪是许多计算机视觉应用的重要任务,如监控、基于感知的用户界面、增强现实、基于对象的视频压缩以及辅助驾驶等。关于实现视频目标跟踪的方法有很多,当跟踪所有移动目标时,帧之间的差异会变的有用;当跟踪视频中移动的手时,基于皮肤颜色的均...原创 2019-05-21 10:07:11 · 18316 阅读 · 5 评论 -
特征检测与特征匹配算法简介
特征检测opencv可以检测图像的主要特征,然后提取这些特征,使其成为图像描述符。特征:特征就是有意义的图像区域,该区域具有独特性或易于识别性。角点与高密度区域是一个很好的特征,边缘可以将图像分为两个区域,因此可以看作很好的特征,斑点(与周围有很大区别的图像区域)也是有意义的特征。大多数特征检测算法都会涉及图像的角点、边和斑点的识别。Harris可用于识别角点。此函数可以很好的检...原创 2019-05-20 13:22:17 · 16267 阅读 · 0 评论 -
OpenCV识别形状
矩形识别.利用opencv来识别图片中的矩形其中遇到的问题主要是识别轮廓时矩形内部的形状导致轮廓不闭合。1. 对输入灰度图片进行高斯滤波2. 做灰度直方图,提取阈值,做二值化处理3. 提取图片轮廓4. 识别图片中的矩形5. 提取图片中的矩形常用函数(1)approxPolyDP 多边形逼近 approxPolyDP主要功能是把一个连续光滑曲线折线...原创 2019-03-27 20:29:16 · 12289 阅读 · 6 评论 -
img_process
img_process.py#!/usr/bin/python# -*- coding: UTF-8 -*-import cv2import numpy as np# 全局阈值# notice the size of imgdef threshold_demo(img): gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ...原创 2018-11-19 09:20:12 · 837 阅读 · 0 评论 -
OpenCV阈值分割
什么是阈值?最简单的图像分割的方法。应用举例:从一副图像中利用阈值分割出我们需要的物体部分(当然这里的物体可以是一部分或者整体)。这样的图像分割方法是基于图像中物体与背景之间的灰度差异,而且此分割属于像素级的分割。为了从一副图像中提取出我们需要的部分,应该用图像中的每一个像素点的灰度值与选取的阈值进行比较,并作出相应的判断。(注意:阈值的选取依赖于具体的问题。即:物体在不同的图像中有可...原创 2018-11-16 11:26:56 · 6055 阅读 · 0 评论 -
OpenCV之滤波操作
图像滤波与滤波器首先我们看一下图像滤波的概念。图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就...原创 2018-11-14 17:34:42 · 857 阅读 · 0 评论 -
OpenCV图像处理常用手段
图像二值化操作两种方法,全局固定阈值二值化和局部自适应阈值二值化全局固定阈值很容易理解,就是对整幅图像都是用一个统一的阈值来进行二值化;局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp>...原创 2018-11-14 16:29:14 · 2868 阅读 · 0 评论 -
OpenCV视频目标跟踪及背景分割器
目标跟踪本文主要介绍cv2中的视频分析Camshift和Meanshift。目标:学习Meanshift算法和Camshift算法来寻找和追踪视频中的目标物体Meanshift算法:meanshift算法的原理很简单。假设你有一堆点集,例如直方图反向投影得到的点集。你还有一个小的窗口,这个窗口可能是圆形的,现在你可能要移动这个窗口到点集密度最大的区域当中。如下图:...原创 2018-11-15 19:48:41 · 2959 阅读 · 0 评论 -
OpenCV读写视频文件
OpenCV提供了VideoCapture类来支持视频读/写。VideoCapture类通过read()函数来获取每一帧,即一个RGB图像。本文用到的视频traffic.flv,来源于原作者Github,地址为: https://github.com/techfort/pycv/tree/master/chapter8/surveillance_demo OpenCV读取视频并显示...转载 2018-11-15 17:03:45 · 2208 阅读 · 0 评论 -
肤色检测算法
由于能力有限,算法层面的东西自己去创新的很少,很多都是从现有的论文中学习,然后实践的。首先列一些现在主流的皮肤检测的方法都有哪些:RGB color space Ycrcb之cr分量+otsu阈值化 YCrCb中133<=Cr<=173 77<=Cb<=127 HSV中 7<H<20 28<S<256 50<V<256 基...原创 2018-11-13 19:52:32 · 14084 阅读 · 0 评论 -
PIL.Image.open与cv2.imread格式互转
PIL.Image转换成OpenCV格式:import cv2from PIL import Imageimport numpypath = '/home/gavin/Desktop/demo-card-1.jpeg'img = Image.open(path).convert("RGB")#.convert("RGB")可不要,默认打开就是RGBimg.show()#转op...原创 2018-11-01 09:05:46 · 12147 阅读 · 0 评论 -
海康威视多摄像头实时视频预览(基于SDK的二次开发)
项目背景 很久没有做工程项目了,最近突然接单,要做多摄像头下运动物体入侵检测及拌线检测,本文测试用到的摄像头是海康威视的DS-2CD23**D摄像头。 环境配置:1.下载SDK2.vs2010开发环境3..opencv2.4.8具体配置自行百度吧。下面贴上我这边的主要配置,需要注意的是需要在x64环境下编译。将摄像头插入以太网口后,那么我们就可以通过官方提供的“...原创 2018-07-05 14:41:18 · 33578 阅读 · 21 评论 -
Opencv图像处理之详解掩膜mask
1.在OpenCV中我们经常会遇到一个名字:Mask(掩膜)。很多函数都使用到它,那么这个Mask到底什么呢?2.如果我们想要裁剪图像中任意形状的区域时,应该怎么办呢? 答案是,使用掩膜(masking)。 我们先看一下掩膜的基础。图像的位运算。图像基本运算图像的基本运算有很多种,比如两幅图像可以相加、相减、相乘、相除、位运算、平方根、对数、绝对值等;图像也可以放大、缩小、旋转,还可以截取其中的一...原创 2018-06-29 15:54:51 · 67982 阅读 · 7 评论 -
图像不同的降采样方式(模糊处理)
模糊处理在边沿检测和去噪声方面有较为广泛的应用。OpenCV中提供了4种模糊算法,列举如下:average median gaussian bilateral而scipy中同样有几种方式,其本质上是没区别的。我们先来看模糊算法的实现:1.average import numpy import argparse import cv2 ...原创 2018-06-06 15:59:40 · 8775 阅读 · 0 评论 -
Python-OpenCV实战二(图像的表示和处理)
图像的表示在OpenCV的C++代码中,表示图像有个专门的结构叫做cv::Mat,不过在Python-OpenCV中,因为已经有了numpy这种强大的基础工具,所以这个矩阵就用numpy的array表示。如果是多通道情况,最常见的就是红绿蓝(RGB)三通道,则第一个维度是高度,第二个维度是高度,第三个维度是通道,比如图a是一幅3×3图像在计算机中表示的例子:右上角的矩阵里每个元素都是一个3维数组...原创 2018-03-22 17:39:05 · 7585 阅读 · 0 评论 -
opencv进阶-背景建模-(帧差法与混合高斯模型)
背景减除(Background Subtraction)是许多基于计算机视觉的任务中的主要预处理步骤。如果我们有完整的静止的背景帧,那么我们可以通过帧差法来计算像素差从而获取到前景对象。但是在大多数情况下,我们可能没有这样的图像,所以我们需要从我们拥有的任何图像中提取背景。当运动物体有阴影时,由于阴影也在移动,情况会变的变得更加复杂。为此引入了背景减除算法,通过这一方法我们能够从视频中分离出运动的...原创 2019-07-19 10:01:28 · 8424 阅读 · 4 评论