这就是opencv
文章平均质量分 77
介绍opencv的一些接口和常用技巧
yuanlulu
做过嵌入式Linux开发、深度学习平台开发。擅长c++和python。
展开
-
windows下QT如何集成OpenCV
由于安装的时候我选择的QT组件都是MInGW的,所以无法使用VS studio版本的dll库。在解压opencv后找到x64\mingw\bin目录,复制需要的dll模块到自己的工程下,如果没有特别需要,复制三个最常用的就够了。》中的说法,vs的c++ abi是stdcall, 而mingw使用的调用方式是cdecl。我一开始下载的opencv官方预编译的包,结果一直显示“error: undefined reference to”这样的错误。我是在windows下创建的Cmake类型的Qt工程。原创 2024-03-29 14:36:06 · 749 阅读 · 0 评论 -
使用pysimplegui+opencv编写一个摄像头的播放器
使用pysimplegui和opencv实现一个播放器,播放 摄像头的画面。原创 2024-01-22 17:22:39 · 843 阅读 · 0 评论 -
使用python访问uvc摄像头
我有个支持uvc的摄像头,想通过python获取图像并设置其参数。如果在linux下,使用v4l2的相关库即可,在windows下我想了两个办法,一是使用opencv-python,二是安装一个叫pyuvc的库。原创 2023-12-27 17:06:49 · 2259 阅读 · 3 评论 -
opencv鱼眼镜头矫正
鱼眼镜头是一种视场角很大的镜头,但是得到的图片有很大的畸变,所以需要对鱼眼镜头进行标定,标定所得的参数可以对鱼眼镜头的图像进行矫正。原创 2022-12-29 16:42:34 · 6334 阅读 · 4 评论 -
opencv中使用copyMakeBorder为图片填充边框
在使用深度学习模型推理的时候,通常输入图片都是一个正方形,而摄像头采集的图片通常是长方形的,这就要把图片的边上填充一些像素,从而变成所需的正方形。在opencv中copyMakeBorder可做填充的工作,非常适合做深度学习图片的前处理。这个例子把图片转换为320X320的正方形图片。原创 2022-10-21 09:31:54 · 1401 阅读 · 0 评论 -
使用opencv的透视变换裁剪倾斜人脸
人脸检测以后,有了检测框,需要将眼睛扶正,并裁剪,然后resize成需要的大小。人脸检测结果如下:其中蓝色是检测框,内部的红色框是我根据长宽扩展的正方形,绿色框是根据眼睛倾斜角度计算的正方形区域,我需要的就是这个区域。为了得到绿色方框的区域。可以看到上述方法包含两次裁剪和一次旋转。这不是一个好的方案。经过搜索,我了解到opencv里还有透视变换函数cv::warpPerspective, 可以用一个函数替代上述一连串操作,而且速度还快(我是在arm上做的测试)。.........原创 2022-08-16 09:56:21 · 2249 阅读 · 0 评论 -
python_opencv--身份证文字区域检测
概述本文基于opencv的形态学滤波检测身份证上的文字位置。如果是自然场景的文字检测可以用CTPN或者EAST。我这里是身份证合成照片,没有多余背景,也没有复杂光照,所以就用最简单的办法。代码import sysimport numpy as npimport cv2def test_detect (img_path): # 参考:https://blog.csdn.n...原创 2019-01-16 20:43:51 · 6315 阅读 · 7 评论 -
windows目录下python版本的opencv使用imwrite保存图片的问题
使用python版本的opencv保存从视频文件中抽取出来的图像帧,就是在磁盘上看不到图片文件。进过测试,发现imwrite的参数中若包括了windows目录的磁盘路径(如D:)则无法保存成功。 程序一: cap = cv2.VideoCapture("D:/项目/video/front.avi") index = 0 while (cap.isOpened()): ...原创 2018-03-12 22:46:51 · 11483 阅读 · 6 评论 -
使用opencv和dlib进行人脸姿态估计(python)
概述在计算机视觉中,物体的姿态是指相对于相机的相对取向和位置。本文主要参考了《Head Pose Estimation using OpenCV and Dlib》这篇文章。进行人脸姿态估计的目的就是获取人脸相对相机的朝向:人脸姿态估计的思想:旋转三维标准模型一定角度,直到模型上“三维特征点”的“2维投影”,与待测试图像上的特征点(图像上的特征点显然是2维)尽量重合。代码从笔记本摄...原创 2018-09-18 19:59:44 · 23720 阅读 · 59 评论 -
使用pyav访问网络视频流
背景深度学习项目中使用python-opencv获取视网络频流出错,找替代方案.要求能得到numpy格式的图片,供opencv和深度模型使用。方案选型据我所知道的方法,在python中访问网络视频流(rtsp 或者http视频流)有以下工具:opencv、pyav、imageio和python-vlc.imageio和python-vlc的资料少,没找到完美的例子,放弃。 o...原创 2018-06-26 20:50:48 · 15103 阅读 · 0 评论 -
改进opencv的VJ人脸检测器(LBP特征)
概述opencv实现的人脸检测器基本原理来自大名鼎鼎的VJ,但是opencv提供的训练模型功能非常羸弱。VJ以来,很多数码相机和手机都实现了人脸检测功能。可是哪些商业软件并不会开源,导致opencv里的人脸检测器一直没有长进。而且随着深度的风靡,研究人员没有动力去改进opencv人脸检测了。有三位作者看不下去了,在opencv框架的基础上做了很多改进。原始论文题目叫《ImprovingOp...原创 2018-09-17 23:48:42 · 2490 阅读 · 0 评论 -
opencv-python的格式转换 RGB与BGR互转
opencv读取图片的默认像素排列是BGR,和很多其他软件不一致,需要转换。 这里转一下国外博客的一个方法,基于python语言。BGR to RGBOpenCV image to Matplotlibrgb = bgr[...,::-1]RGB to BGRMatplotlib image to OpenCVbgr = rgb[...,::-1]RGB to GBR...原创 2018-04-17 22:53:23 · 43708 阅读 · 1 评论 -
opencv+python旋转图片
说明python-opencv读取的图片本就是numpy格式,利用矩阵的相关操作,可以快速完成图片的顺时针90度和逆时针90度。本例子利用矩阵转置和镜像翻转的组合,可以快速实现图片的翻转。代码参考了别人的c++代码,完成了python版本的程序。 参考链接:https://blog.csdn.net/tianzhaixing2013/article/details/53037...原创 2018-08-16 22:52:54 · 12596 阅读 · 2 评论 -
python-opencv的学习资源
概述自己平常用python调用opencv,遇到问题往往求助官方手册 和网络上的资源。 自己也想过去翻译opencv的”OpenCV-Python Tutorials”,但是自己对opencv研究不深,始终未付诸实践。目前发现已经有高人把这个工作做完了。python_opencv例程及中文Tutorials有位高人已经做了opencv官方文档的翻译,把文档和代码都放在了githu...原创 2018-07-02 20:44:37 · 1524 阅读 · 0 评论 -
python-opencv使用windows盘符路径的问题
在windows下使用python-opencv,发现使用带盘符的路径访问文件都回失败。比如: img = cv2.imread('D:\\项目\\活体检测\\python_liveness\\video\\front.jpg') print('type:{}'.format(type(img))) 输出内容是:type:<class 'NoneType'> 但...原创 2018-03-16 11:49:13 · 2188 阅读 · 2 评论 -
基于opencv和dlib的活体识别功能小结
概述项目过去几个月了,为了防止自己忘记,做简要概述。基本要求就是针对一段视频,里面的人判断是否完成了随机指定的某个动作(左转、右转、抬头、点头、张嘴、眨眼)。这属于非静默的活体识别,需要用户配合。基本方案使用dlib的人脸检测和关键点检测算法,获得人脸的基本姿态信息。但是dlib的68点信息无法直接用于头部姿态估计。我自己设计了一种简单高效的算法,把68点信息抽象为为一个4维向...原创 2018-09-07 11:50:23 · 6364 阅读 · 3 评论 -
opencv目标检测器训练的资料整理
概述opencv自带的分类器是adaboost分类器算法思想是通过迭代训练弱分类器得到一个强分类器。每次迭代得到局部最优的分类器,然后将局部最优的分类器权值相加最后得到一个可用的强分类器。具体的原理可参考《浅析人脸检测之Haar分类器方法》在windows下编译opencv之后,在build\x64\vc14\bin目录下回有opencv_createsamples.exe和opencv_...原创 2018-08-30 18:10:08 · 2196 阅读 · 0 评论 -
机器视觉:基于特征的图像对齐(使用opencv和python)
概述本文主要内容来自参考资料《mage Alignment (Feature Based) using OpenCV (C++/Python)》本文讲述使用opencv中基于特征的的图像对齐方法。这里将会把手机拍摄的表单和与表单的模板对齐。这里用到的技术被称为基于特征的图像对齐,因为在这种技术中,要在一个图像中检测到一组特征点,并与另一张图像中的特征点相匹配。然后根据这些匹配的特征...翻译 2018-08-30 15:23:53 · 33048 阅读 · 6 评论 -
opencv目标跟踪概述和人脸跟踪
概述opencv内部实现了一些单目标跟踪算法,可以很方便的使用。这里说的目标跟踪不是多目标跟踪,往往是需要人工或程序给定初始目标位置。资源及跟踪算法介绍目前看到的比较好的opencv目标跟踪算法资源在这里:https://www.learnopencv.com/object-tracking-using-opencv-cpp-python/这个页面介绍了几个常用的跟踪算法:...翻译 2018-07-03 16:04:39 · 6569 阅读 · 2 评论 -
python-opencv 使用LBP特征检测人脸
概述最近在做人脸检测相关功能,目前注意到比较传统(非深度)人脸检测特征包括harr和LBP(HOG用于行人检测更多些),opencv包括了这两种特征算法,并且相对来说,LBP更快,这是一个比较大的优点,我决定试一试。这里就是我测试的记录。感受:opencv实现的LBP人脸检测确实快,但是官方的模型文件对于侧脸和歪脸很弱,容易漏检。可能是因为官方没有针对这些情况训练,只针对正脸。真是使用的话...原创 2018-06-15 15:43:19 · 6711 阅读 · 6 评论