视觉&物联智能
专注计算机视觉、机器学习、视觉智能、嵌入式硬件、物联网(IoT)、M2M、机器人
展开
-
OpenCV4.x图像处理实例-常见图像滤镜特效实现
在本文中将演示使用 OpenCV 来模仿流行的 Photoshop 或 Instagram 滤镜的各种图像处理技术。 在文章中,我们将尝试使用各种滤镜,其中许多滤镜会生成原始图像的艺术效果图。 正如您将在文章中看到的,其中许多效果需要进行一些实验,并且给定滤镜的结果可能会根据所使用的特定图像而有很大差异。原创 2023-11-29 20:40:26 · 1599 阅读 · 0 评论 -
OpenCV4.x图像处理实例-搭建身份识别系统
在本文中,将介绍如何使用 OpenCV 搭建一个人脸检测与身份识别系统。 为了构建我们的人脸识别系统,我们将首先执行人脸检测,使用深度学习从每张人脸中提取人脸特征数据,在提取特征数据上训练人脸识别模型,最后使用 OpenCV 识别图像和视频流中的人脸,并识别身份。原创 2023-05-06 22:16:54 · 932 阅读 · 1 评论 -
OpenCV4.x图像处理实例-YOLO v8图像分割
在前面的文章中,我们使用YOLO v8模型实现了图像、视频流进行物体检测与识别。本文将详细介绍,如何使用YOLO v8进行物体检测与分割(Segmetation)。原创 2023-04-01 13:32:14 · 2320 阅读 · 0 评论 -
OpenCV4.x图像处理实例-YOLO v8检测与识别物体
本文将详细介绍通过OpenCV的DNN模块,使用YOLO V8模型进行对静态图像、视频流和摄像头进行物体检测与识别。原创 2023-03-16 21:18:29 · 3030 阅读 · 0 评论 -
OpenCV4.x图像处理实例-OpenCV两小时快速入门(基于Python)
OpenCV(开源计算机视觉)是最大的计算机视觉库,包含 2500 多种优化算法,可用于进行人脸检测、动作识别、图像拼接、提取 3D 模型、生成点云、增强现实等 。本文将作为速成课程来介绍 OpenCV 库的基础知识。原创 2023-03-02 18:00:05 · 479 阅读 · 3 评论 -
OpenCV4.x图像处理实例-道路车辆检测(基于背景消减法)
在本文中,将介绍如何使用简单但有效的背景-前景减法方法执行车辆检测等任务。本文将使用 OpenCV 中使用背景-前景减法和轮廓检测,以及如何调整不同的参数以获得更好的结果。原创 2023-03-01 22:24:09 · 659 阅读 · 2 评论 -
OpenCV4.x图像处理实例-张嘴和闭嘴检测
在活体验证中,张嘴和闭嘴检测也是一个重要的环节。本文将介绍如何通过检测人脸上唇和下唇的关键点,并计算上唇和下唇的关键点的距离来检测当前人脸状态是否处于张嘴或闭嘴。原创 2023-02-27 09:15:07 · 1201 阅读 · 0 评论 -
OpenCV4.x图像处理实例-疲劳检测(基于MediaPipe+EAR)
MediaPipe 为直播和流媒体提供开源跨平台、可定制的 ML 解决方案。MediaPipe 可用于构建多模式(例如视频、音频、任何时间序列数据)、跨平台(即 Android、iOS、Web、边缘设备)应用的 ML 管道。 它在考虑端到端设备推理的情况下进行了性能优化。 ......原创 2022-07-08 19:39:58 · 1844 阅读 · 0 评论 -
OpenCV4.x图像处理实例-自动包围曝光(Auto Exposure Bracketing,AEB)
许多数码相机都包含自动包围曝光 (Auto Exposure Bracketing,AEB) 选项。 选择 AEB 时,相机会自动拍摄三张或更多张照片,每张照片的曝光度都不同。相机的 AEB功能允许我们通过一次快门点击根据预定义的设置拍摄多张照片。本文将详细介绍在OpenCV中如何使用AEB。............原创 2022-06-07 23:30:30 · 1045 阅读 · 0 评论 -
OpenCV4.x图像处理实例-条形码和二维码(QR码)检测
条形码和二维码在日常生活中广泛应用。本次实例将详细介绍如何从静态图像和视频流中检测、解码条形码和二维码数据。原创 2022-06-02 09:49:31 · 597 阅读 · 0 评论 -
OpenCV4.x图像处理实例-疲劳检测(基于眼睛纵横比,Eye Aspect Radio,EAR)
本文将详细介绍如何基于眼睛纵横比,Eye Aspect Radio,EAR实现疲劳检测原创 2022-06-01 10:16:10 · 1078 阅读 · 0 评论 -
OpenCV4.x图像处理实例-仿微信视频通话背景模糊效果
新版微信视频通话支持背景模糊功能。本文将演示如何实现该功能效果。原创 2022-04-12 22:29:22 · 3204 阅读 · 1 评论 -
OpenCV4.x图像处理实例-图像/帧平均模拟长时间曝光
长时间曝光摄影是指相机快门在较长时间内保持打开状态的技术。 生成的图像捕捉到摄像机前移动物体的轨迹,同时显示出锐利的静止元素。这种技术也称为慢快门或延时摄影,用于显示场景中时间流逝的效果,无论是光迹还是平滑的动态元素。 它广泛用于多种类型的摄影,从风景和城市照片到肖像和产品图像。在本文中,将通过帧平均方法,模拟图像长时间曝光原创 2022-03-18 17:05:26 · 4619 阅读 · 0 评论 -
opencv.js通过Haarcascade模型实时人脸检测(Electron环境)
opencv.js通过Haarcascade模型实时人脸检测在前面的opencv.js调用摄像头(Electron环境)、opencv.js打开视频文件(Electron环境)和opencv.js通过Haarcascade模型静态图像人脸检测的实例中实现对摄像头和视频文件的处理以及静态图像人脸检测,在本次实例中,通过对摄像头数据流进行抓取,使用Haarcascade数据进行人脸实时检测。1、创建Electron的HTML页面index.html<!DOCTYPE html> <h原创 2021-03-29 18:09:20 · 849 阅读 · 0 评论 -
opencv.js通过Haarcascade模型静态图像人脸检测(Electron环境)
opencv.js通过Haarcascade模型静态图像人脸检测在前面的opencv.js编译及Electron适配和opencv.js基本使用(Electron环境)第一部分实现了opencvjs对图像的加载、处理以及显示。本实例将通过Haarcascade模型实现静态图像人脸检。1、创建Electron的HTML页面index.html<!DOCTYPE html> <html> <head> <meta name="viewport原创 2021-03-29 18:06:03 · 529 阅读 · 0 评论 -
opencv.js打开视频文件(Electron环境)
opencv.js打开视频文件通过前面的opencv.js调用摄像头(Electron环境),已经成功打开摄像头、读取图像数据并处理,在本实例中,将打开视频文件,读取视频流并处理视频流数据。1、创建Electron的HTML页面index.html<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"原创 2021-03-29 16:56:16 · 1189 阅读 · 0 评论 -
opencv.js调用摄像头(Electron环境)
opencv.js调用摄像头(Electron环境)本实例主要演示在Electron环境中通过opencv.js调用摄像头并读取摄像头的图像数据。我们知道,HTML5支持浏览器调用本地摄像头、麦克风。opencv.js调用摄像头也遵循HTML5调用摄像头的规范。1、创建Electron的HTML页面index.html<!DOCTYPE html> <html> <head> <meta name="viewport" content=原创 2021-03-29 16:37:58 · 2459 阅读 · 0 评论 -
opencv.js基本使用(Electron环境)第三部分
opencv.js基本使用(Electron环境)第三部分1、按位运算cv.bitwise_not();cv.bitwise_and();cv.bitwise_or();cv.bitwise_xor();2、Pointlet point = new cv.Point(x, y);let point = {x: x, y: y};3、Scalarlet scalar = new cv.Scalar(R, G, B, Alpha);let scalar = [R, G, B, Alph原创 2021-03-26 14:53:06 · 668 阅读 · 0 评论 -
opencv.js基本使用(Electron环境)第二部分
opencv.js基本使用(Electron环境)第二部分14、sum矩阵或向量求和;原型:Float dst = src1.sum()调用示例如下:let mat1 = cv.matFromArray(3,3,cv.CV_32FC1,[1,2,3,4,5,6,7,8,9]);let sum = mat1.sum();mat1.delete();console.log("dst::" + dst);//dst::4515、norm矩阵或向量的范数;原型:Float dst = cv.no原创 2021-03-26 14:50:15 · 528 阅读 · 0 评论 -
opencv.js基本使用(Electron环境)第一部分
opencv.js基本使用(Electron环境)在前面的文章中,我们成功实现opencv.js的编译以及在Electron环境适配。下面将详细介绍opencv.js核心API的使用,为后面的项目实例打下基础。1、创建Matlet src = new cv.Mat(512, 512, cv.CV_8UC1);上面代码创建了一个512x512,单通道Mat。创建多通道,其他数据类型的方法与C++代码类似,比如:let src = new cv.Mat(512,512,cv.CV_8UC3);从原创 2021-03-25 16:43:29 · 1212 阅读 · 0 评论 -
opencv.js编译及Electron适配
opencv.js编译及Electron适配1、前言Web是最普及的开放计算平台。 通过在每个浏览器中实现HTML5标准,Web应用程序能够使用HTML5视频标签呈现在线视频,通过WebRTC API捕获网络摄像头视频以及通过canvas API访问视频帧的每个像素。拥有大量可用的多媒体内容,Web开发人员需要使用JavaScript的各种图像和视觉处理算法来构建创新的应用程序。 对于Web上的新兴应用程序(例如Web虚拟现实(WebVR)和增强现实(WebAR)),此要求甚至更为重要。 所有这些用例都原创 2021-03-25 16:42:00 · 853 阅读 · 0 评论 -
OpenCV4新API:QRCode识别
import cv2import numpy as npimg = cv2.imread('/opt/develop/resources/images/1546100572.png')img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)result_detection = Nonecount_experiments = 10tra...原创 2018-12-30 09:17:00 · 5478 阅读 · 0 评论 -
高动态范围图像(HDR)处理
高动态范围图像(HDR)处理1. 概念高动态范围图像(High-Dynamic Range,简称HDR),相比普通的图像,可以提供更多的动态范围和图像细节,根据不同的曝光时间的LDR(Low-Dynamic Range,低动态范围图像),并利用每个曝光时间相对应最佳细节的LDR图像来合成最终HDR图像。它能够更好的反映出真实环境中的视觉效果。[1]HDR由两部分组成,动态曝光控制和光晕效果。...原创 2019-06-04 17:33:34 · 16371 阅读 · 2 评论 -
OpenCV4.x图像处理实例-基于Otsu阈值分离双峰分布图像分割
基于Otsu阈值分离双峰分布图像分割基于Otsu阈值分离双峰分布图像分割1. 前言2. 基于Otsu阈值分离双峰分布图像分割描述3. 代码实现1. 前言Otsu二值化会自动根据双峰图像的图像直方图计算阈值。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB原创 2020-12-03 13:39:50 · 530 阅读 · 0 评论 -
OpenCV4.x图像处理实例-基于自适应阈值图像分割
基于自适应阈值图像分割1. 前言在图像在不同区域具有不同照明条件的情况下,使用全局阈值可能不是一个好的选择。 因此,在那种情况下,我们可能要使用自适应阈值。 它使用计算图像小区域阈值的算法,以便我们可以为同一图像的不同区域获得不同的阈值,并且对于光照条件不同的图像,它可以提供更好的结果。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C原创 2020-12-03 13:29:41 · 709 阅读 · 0 评论 -
OpenCV4.x图像处理实例-基于全局阈值图像分割
基于全局阈值图像分割基于全局阈值图像分割1. 前言2. 基于全局阈值分割描述3. 代码实现1. 前言阈值化是最简单的图像分割方法。这是一种非线性操作,它将灰度图像转换为二进制图像,其中将两个级别分配给低于或高于指定阈值的像素。 换句话说,如果像素值大于阈值,则为其分配一个值(可以是白色),否则,可以为其分配另一个值(可以是黑色)。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系原创 2020-12-03 13:28:26 · 446 阅读 · 1 评论 -
OpenCV4.x图像处理实例-基于Domain Filter的彩色图像细节增强
基于Domain Filter的彩色图像细节增强基于Domain Filter的彩色图像细节增强1. 前言2. 图像细节增强3. 代码实现1. 前言图像细节增强的核心是将原图像表示为基本分量(base layer)与细节分量(detail layer)之和,在此基础上单独增强细节分量并得到增强图像,关键在于基本分量的获取。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。原创 2020-11-20 23:23:32 · 330 阅读 · 0 评论 -
OpenCV4.x图像处理实例-社交距离检测
社交距离检测1. 前言在新冠疫情还未结束的情况下,对社交场合行人的社交检测,并发出警告,是一种防疫的辅助手段。本文介绍一种简单的行人社交距离检测方法。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。目前最新的版本为4原创 2020-09-28 11:13:26 · 906 阅读 · 2 评论 -
OpenCV4.x图像处理实例-颜色隔离
颜色隔离颜色隔离1. 前言2. 颜色隔离描述3. 代码实现1. 前言在RGB图像中,如果想要强调某种颜色,可以通过颜色隔离实现。颜色隔离在广告视频中广泛应用。在这里,介绍一种简单的颜色方法实现。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口原创 2020-09-27 22:56:14 · 296 阅读 · 0 评论 -
OpenCV4.x图像处理实例-工地安全帽反光衣穿戴检测
工地安全帽反光衣穿戴检测1. 前言随着工地信息化管理水平越来越高,工人的安全管理越来越严格,需要使用一些辅助手段来实现工人安全自动化管理。工地实名制通道对工人身份识别的同时可以实现对工人是否穿戴安全帽反光衣进行检测。这样就可以拒绝不遵守安全规范的工人进入工地,从而提高安全生产水平和管理水平。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量原创 2020-09-26 01:04:29 · 2691 阅读 · 1 评论 -
OpenCV4.x图像处理实例-监控视频运动区域热图
监控视频运动区域热图监控视频运动区域热图1. 前言2. # 监控视频运动区域热图描述3. 代码实现1. 前言运动扫图可以辅助快速确定监控画面中的运动区域(大概率的异常区域),可以用来辅助活体检测。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接原创 2020-09-25 23:41:35 · 560 阅读 · 0 评论 -
OpenCV4.x图像处理实例-人脸打马赛克并匿名化
人脸打马赛克并匿名化人脸打马赛克并匿名化1. 前言2. 人脸打马赛克并匿名化描述3. 代码实现1. 前言在日常生活应用中,对于一些敏感的图像或视频,需要将图像或视频的人脸做匿名化处理。换一句话说,如果面对图像或视频的人脸身份识别的应用,如何对应这种情况。因此需要将所要处理的图像或视频中的人脸进行匿名化处理。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量原创 2020-09-25 23:07:28 · 825 阅读 · 0 评论 -
OpenCV4.x图像处理实例-拉普拉斯算子图像模糊度检测
拉普拉斯算子图像模糊度检测图像模糊度检测1. 前言2. 图像模糊度检测描述3. 代码实现1. 前言造成图像模糊的原因有很多,其中包括光学因素、大气因素、人工因素、技术因素等等,日常生产生活中对图像进行去模糊操作有其重要意义。要取得比较好的处理效果,不同原因导致的模糊往往需要不同的处理方法。评价图像模糊程度的方法有很多,本文主要介绍通过拉普拉斯算子来计算图像的模糊程度。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Window原创 2020-09-24 22:03:23 · 1491 阅读 · 0 评论 -
OpenCV4.x图像处理实例-使用级联检测器进行眨眼检测
使用级联检测器进行眨眼检测使用级联检测器进行眨眼检测1. 前言2. 使用级联检测器进行眨眼检测描述3. 代码实现1. 前言眨眼检测在活体检测认证中有着广泛的应用。本文介绍眨眼检测主要通过OpenCV提供的级联检测器实现。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby原创 2020-09-24 17:54:59 · 501 阅读 · 0 评论 -
OpenCV4.x图像处理实例-实时头部姿势估算
实时头部姿势估算1. 前言在计算机视觉(CV)领域中,物体的姿态是其相对于相机的方向(orientation)和位置(position). 通过移动物体相对于相机的位置,或者移动相机相对于物体的位置,即可改变物体的姿态.头部姿势估算主要在以下几个方面应用:注意力检测:通过判断头部姿态可以判断人的注意力情况。比如可以检测长途司机是不是在目视前方,长时间不目视前方的话,可以提前敲打,保证安全,减少事故。行为分析人机互动视线追踪(眼球跟踪)活体检测OpenCV是一个基于BSD许可(开源)发行的原创 2020-09-24 00:21:47 · 809 阅读 · 1 评论 -
OpenCV4.x图像处理实例-基于颜色的目标追踪
基于颜色的目标追踪基于颜色的目标追踪1. 前言2. 基于颜色的目标追踪描述3. 代码实现1. 前言在处理视频流的目标追踪过程中帧差异为我们提供了一些有用的信息,但是我们不能使用它来建立有意义的东西。为了构建一个好的对象跟踪器,需要了解可以使用哪些特征来使我们的跟踪功能强大并准确。 HSV色彩空间一种直观的颜色模型,用于图像分割非常有用。 我们可以将图像转换为HSV空间,指定颜色范围,实现目标分割及追踪。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件原创 2020-09-16 23:43:07 · 659 阅读 · 0 评论 -
OpenCV4.x图像处理实例-Lucas–Kanade微分算法目标轨迹追踪
06-Lucas–Kanade微分算法目标轨迹追踪06-Lucas–Kanade微分算法目标轨迹追踪1. 前言Lucas–Kanade微分算法目标追踪描述3. 代码实现1. 前言光流的概念最早是由Gibson在1950年提出的。它是空间移动物体在像素观察平面中移动的瞬时速度。是一种计算物体在相邻帧间运动信息的方法。一般来说,光流(Optical Flow)是物体在三维空间中的运动在二维像平面上的投影。它是由物体和相机的相对速度产生的,反映了物体在极小时间内对应的图像像素的运动方向原创 2020-09-16 22:29:17 · 443 阅读 · 0 评论 -
OpenCV4.x图像处理实例-经典实时物体追踪算法大全
经典实时物体追踪算法大全经典实时物体追踪算法大全1. 前言2. 经典实时物体追踪算法描述3. 代码实现1. 前言2. 经典实时物体追踪算法描述视觉目标跟踪(Visual Object Tracking)是计算机视觉领域的一个重要问题。尽管近年来受到了广泛研究,目标跟踪问题由于本身的高难度、高质量数据的稀少,研究热度比目标检测、语义分割等基本视觉任务略低一些。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、An原创 2020-09-16 01:26:44 · 1382 阅读 · 0 评论 -
OpenCV4.x图像处理实例-EasyOCR文本检测
EasyOCR文本检测EasyOCR文本检测1. 前言2. EasyOCR文本检测描述3. 代码实现1. 前言EasyOCR是用于从图像提取文本的python模块。 它是一种通用的OCR,可以读取自然场景文本和文档中的密集文本。 目前支持70多种语言,并且还在不断扩展。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量原创 2020-09-16 00:26:22 · 1392 阅读 · 0 评论 -
OpenCV4.x图像处理实例-MobileNets-SSD模型行人检测
MobileNets-SSD模型行人检测MobileNets-SSD模型行人检测1. 前言2. MoibleNets-SSD模型行人检测描述3. 代码实现1. 前言OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面原创 2020-09-15 20:11:02 · 677 阅读 · 0 评论