OpenCV杂谈
人工智能之浪潮
这个作者很懒,什么都没留下…
展开
-
Python 使用字节流读取图片并转换成图片格式显示
Python 使用字节流读取图片并转换成图片格式显示auth = HTTPBasicAuth("admin".encode('utf-8'), "12345")response = requests.post("http://192.168.1.120/action/snap?cam=0", auth=auth)if response.status_code == 200: response_byte = response.content bytes_stream = Bytes原创 2020-06-15 00:22:17 · 7817 阅读 · 0 评论 -
Python中将字节流文件转换成图片文件
Python中将字节流文件转换成图片文件import urllib3import os#PIL图像处理标准库from PIL import Imagefrom io import BytesIOhttp = urllib3.PoolManager()response = http.request('GET','f.hiphotos.baidu.com/image/pic/item/8d5494eef01f3a29f863534d9725bc315d607c8e.jpg')result原创 2020-06-15 00:02:36 · 12307 阅读 · 1 评论 -
Python OpenCV 多边形拟合相关案例
本文整理总结基本图像处理方面的凸多边形拟合相关方法,可以实现物体边缘的平滑、规整化处理。以上处理算法的实质是对物体边缘点进行减少或增加的过程,增加时可以实现边缘的规整化,减少时可以让曲线看上去更加平滑些。1、Skimage实现图像边缘规整化处理import matplotlib.pyplot as pltfrom skimage import data,color,morpholo...原创 2020-03-06 16:03:55 · 3402 阅读 · 0 评论 -
Python中OpenCV划线、画圆、椭圆、添加文字等几何图形绘制操作
实现opencv画直线/多边形/圆形/椭圆/添加文字等操作,直接上代码import numpy as npimport cv2# Create a black imageimg=np.zeros((512,512,3), np.uint8)# Draw a diagonal blue line with thickness of 5 pxcv2.line(img,(0,0),(...原创 2018-09-21 21:49:32 · 2866 阅读 · 0 评论 -
Python中openCV库实现卡尔曼滤波案例
1.0 什么是卡尔曼模型理论推导过于复杂,看个知乎上的解释吧 假设你有两个传感器,测的是同一个信号。可是它们每次的读数都不太一样,怎么办? 取平均。 再假设你知道其中贵的那个传感器应该准一些,便宜的那个应该差一些。那有比取平均更好的办法吗? 加权平均。 怎么加权?假设两个传感器的误差都符合正态分布,假设你知道这两个正态分布的方差,用这两个方差值,(此处省略若干数学公式),你可以得到一个“...原创 2018-10-19 13:03:08 · 7930 阅读 · 1 评论 -
OpenCV固定阈值二值化
threshold:固定阈值二值化,ret, dst = cv2.threshold(src, thresh, maxval, type)1src: 输入图,只能输入单通道图像,通常来说为灰度图dst: 输出图thresh: 阈值maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BI...原创 2018-11-21 18:26:46 · 1988 阅读 · 0 评论 -
使用OpenCV进行基本图像处理
背景在进行一个和视频分析相关的项目研究的时候,我们需要前置使用OpenCV对图像进行预处理。在密集使用OpenCV的API的过程中,我们有了这样一种感觉:大部分人写的API都是ctrl+c 和 ctrl+v,而OpenCV的好多API,每一个API背后都是一篇论文。感动之余,Gemfield写了这篇文章,把调研过程中使用过的OpenCV的API都在这篇文章中予以解释。Gemfield也欢迎Op...原创 2019-02-11 21:37:12 · 2201 阅读 · 0 评论 -
Python中调用OpenCV接口中的高斯混合模型,实现对运动目标的检测,并保存录制视频
Python中调用OpenCV接口中的高斯混合模型(GMM),实现对运动目标的检测 import numpy as npimport cv2# TODO: 本代码使用OpenCV接口中的高斯混合模型,实现对运动目标的检测cap = cv2.VideoCapture(0) # 打开摄像头# cap = cv2.VideoCapture("demo.avi")size =...原创 2018-12-28 22:41:04 · 4510 阅读 · 3 评论 -
Python中调用OpenCV接口保存摄像头或视频中的图像帧到视频文件
Python中调用OpenCV接口保存摄像头或视频中的图像帧到视频文件import cv2cap = cv2.VideoCapture(0) # 打开摄像头size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))fourcc = cv2.VideoWriter...原创 2018-12-28 22:56:13 · 2514 阅读 · 0 评论 -
Python实现选择性搜索分割算法Selective Search for Object Detection
Selective Search for Object Detection OpenCV实现目标检测方法,具体参考论文及官方说明:https://www.learnopencv.com/selective-search-for-object-detection-cpp-python/论文参考:Efficient Graph-Based Image Segmentation#!/u...原创 2018-12-29 10:44:34 · 1987 阅读 · 1 评论 -
基于Python的OpenCV图像处理
一、Shi-Tomasi角点检测算子 1.原理 2.OpenCV实现 二、光流法视频目标跟踪 1.光流的概念 2.光流方程推导 3.Lucas-Kanade方法 4.OpenCV中的Lucas-Kanade实现 5.稠密光流 三、HSV色彩空间 四、总结一、Shi-Tomasi角点检测算子1.原理Shi-Tomasi角点检测算子的原理很简单,而且主要...原创 2019-02-11 21:36:03 · 2353 阅读 · 0 评论 -
OpenCV 中的图像处理函数简介
来源:OpenCV-Python 中文教程 22 直方图22.1 直方图的计算,绘制与分析目标 • 使用 OpenCV 或 Numpy 函数计算直方图 • 使用 Opencv 或者 Matplotlib 函数绘制直方图 • 将要学习的函数有:cv2.calcHist(),np.histogram()原理 什么是直方图呢?通过直方图你可以对整幅图像的灰度分布有一...原创 2018-09-21 17:56:39 · 4316 阅读 · 0 评论 -
Python中OpenCV常用操作总结
1. 读取视频 cv2.VideoCapture()参数1:可以是数字,对应摄像头编号。可以是视频名。如果用的摄像头,下面要用循环来不断读帧。c = cv2.VideoCapture(0)while 1:ret, image = c.read()cv2.imshow("Origin", image) # 显示画面cv2.waitKey(1) # 一定要搭配这句才出画面...原创 2018-09-20 22:59:55 · 396 阅读 · 0 评论 -
OpenCV系列杂谈(四):特征检测算法
本节总结常见的特征检测算法:1、Harris角点检测方法import cv2import numpy as npimg = cv2.imread('../../car.jpg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)gray = np.float32(gray)dst = cv2.cornerHarris(gray, 2, 2...原创 2018-08-04 01:51:22 · 990 阅读 · 0 评论 -
OpenCV系列杂谈(五):HOGDescriptor检测人算法
OpenCV自带HOGDescriptor函数检测人。代码:import cv2import numpy as npdef is_inside(o, i): ox, oy, ow, oh = o ix, iy, iw, ih = i return ox > ix and oy > iy and ox + ow < ix + iw and o...原创 2018-08-10 00:11:46 · 4138 阅读 · 0 评论 -
OpenCV系列杂谈(六):背景分割算法
OpenCV提供了一个称为BackgroundSubtractor的类,包括:KNN、MOG2、GMG1.MOG2背景分割器import numpy as npimport cv2cap = cv2.VideoCapture(0)mog = cv2.createBackgroundSubtractorMOG2()while(1): ret, frame = cap.r...原创 2018-08-10 12:49:31 · 6418 阅读 · 0 评论 -
OpenCV系列杂谈(二):图像捕获显示、摄像头捕获并显示
直接上代码:捕获图像:import cv2import numpy as npimg = cv2.imread('../lena.jpg')cv2.imshow('img', img)cv2.waitKey(0)cv2.destroyAllWindows() 捕获摄像头,并且播放。可以通过控制鼠标键盘空值进度。import cv2clicked = ...原创 2018-08-03 00:38:21 · 1890 阅读 · 0 评论 -
OpenCV系列杂谈(一):图像轮廓检测
图像的轮廓检测,如计算多边形外界、形状毕竟、计算感兴趣区域等。1、基本方法import cv2import numpy as npimg = np.zeros((200, 200), dtype=np.uint8)img[50:150, 50:150] = 255ret, thresh = cv2.threshold(img, 127, 255, 0) # 二值化处理i...原创 2018-08-03 01:18:56 · 1415 阅读 · 0 评论 -
Python视频图像播放中加入文字
def preprocessing(): print("开始获取数据...") img_path = gb.glob(os.path.join(datasetDir, '*.tif')) rawImgs = [] opImgs = [] for i, curFrame in enumerate(img_path): print("curFr...原创 2018-09-13 20:02:31 · 7176 阅读 · 1 评论 -
OpenCV背景检测算法汇总
在很多基础应用中背景检出都是一个非常重要的步骤。例如顾客统计,使用一个静态摄像头来记录进入和离开房间的人数;或者是交通摄像头,需要提取交通工具的信息等。在所有的这些例子中,首先要将人或车单独提取出来。 技术上来说,我们需要从静止的背景中提取移动的前景如果你有一张背景(仅有背景不含前景)图像,比如没有顾客的房间,没有交通工具的道路等,那就好办了。我们只需要在新的图像中减去背景就可以得到...转载 2018-09-14 15:53:17 · 4524 阅读 · 0 评论 -
OpenCV中的稠密光流
OpenCV中的稠密光流:LK算法计算的是稀疏的特征点光流,如样例当中计算的是使用 Shi-Tomasi算法得到的特征点。opencv当总提供了查找稠密光流的方法。该方法计算一帧图像当中的所有点。该方法是基于Gunner Farneback提出的一篇论文Two-Frame Motion Estimation Based on Polynomial Expansion。Farneback稠密...原创 2018-09-25 19:54:56 · 5402 阅读 · 4 评论 -
Python中OpenCV一些实用函数总结
前言最近在做卡片上的数字识别。调用caffe模块,直接用的mnist模型,不过这篇文章不讲caffe。需要先对图片进行一系列预处理,把卡片上的数字分离出来,有点OCR的感觉。我把这次使用到的所有opencv函数简单写一下。1. 读取视频 cv2.VideoCapture()参数1:可以是数字,对应摄像头编号。可以是视频名。如果用的摄像头,下面要用循环来不断读帧。 c ...原创 2018-09-14 22:45:15 · 1803 阅读 · 0 评论 -
findContours函数参数详解
Opencv中通过使用findContours函数,简单几个的步骤就可以检测出物体的轮廓,很方便。这些准备继续探讨一下findContours方法中各参数的含义及用法,比如要求只检测最外层轮廓该怎么办?contours里边的数据结构是怎样的?hierarchy到底是什么鬼?Point()有什么用?先从findContours函数原型看起: findContours( Inp...转载 2018-09-20 20:34:31 · 967 阅读 · 2 评论 -
OpenCV系列杂谈(三):人脸检测demo
本文使用OpenCV已经训练好的分类器模型进行检测试验1.静态人脸检测def detect(filename): face_cascade = cv2.CascadeClassifier('../data/haarcascades/haarcascade_frontalface_default.xml') img = cv2.imread(filename) g...原创 2018-08-03 16:28:18 · 369 阅读 · 0 评论