
图像处理
文章平均质量分 64
AI吃大瓜
计算机视觉高级研究员,主要从事人工智能AI算法研究工作;熟悉多模态大模型,RAG技术,小模型开发如人脸检测,人脸识别,活体识别以及2D/3D Pose(人体姿态估计),行人重识别ReID等深度学习开发工作,具有丰富的项目开发工作经验。
展开
-
图像处理:随机添加椒盐噪声和高斯噪声Python
高斯噪声,椒盐噪声,常规的方法,需要遍历每个像素,添加椒盐噪声,该方法十分缓慢。Python语言十分不建议进行图像像素遍历操作,毕竟性能太差,速度太慢了(除非写成C/C++版本)。我们可以借助numpy的矩阵处理,实现快速的添加椒盐噪声...............原创 2022-08-26 16:13:14 · 22955 阅读 · 54 评论 -
人体姿态估计-生成heatmap的方法
人体姿态估计-生成heatmap的方法参考Simple BaseLine生成HeatMap的方法,这里整理进行显示,方便可视化:Simple BaseLine生成HeatMap的方法:https://github.com/microsoft/human-pose-estimation.pytorch/blob/master/lib/dataset/JointsDataset.py# -*- coding: utf-8 -*-"""# ----------------------------原创 2020-09-30 11:50:40 · 11126 阅读 · 7 评论 -
opencv多线程显示的问题和解决方法
opencv多线程显示的问题和解决方法1.问题描述由于业务需求,需要在多线程中,使用OpenCV读取图片并显示,实现很简单,只需要调用python的threading创建线程,并在线程中显示图片即可,但会出现一个问题: 只能显示第一张图图片,第二张图图片就会阻塞掉!!!这是最初的精简的BUG代码import osimport cv2import globimport...原创 2020-04-18 11:36:23 · 9419 阅读 · 2 评论 -
matplotlib figure转为numpy array或者PIL图像进行显示
matplotlib figure转为numpy array或者PIL图像进行显示实现将matplotlib绘制的图像转换为numpy数组,并使用PIL或者OpenCV进行显示参考资料:http://www.icare.univ-lille1.fr/tutorials/convert_a_matplotlib_figure# -*- coding: utf-8 -*-"""# -...原创 2020-02-05 11:13:20 · 9383 阅读 · 1 评论 -
OpenCV实现最大最小距离聚类算法
OpenCV实现最大最小距离聚类算法 【尊重原创,转载请注明出处】https://blog.youkuaiyun.com/guyuealian/article/details/80255524 本博客提供多版本的最大最小距离聚类算法:《聚类算法-最大最小距离算法(实例+代码)》,提供C++,Python,OpenCV以及Matlab版本的最大最小距离聚类算法的实现目录OpenCV实...原创 2018-05-09 16:52:19 · 12035 阅读 · 2 评论 -
聚类算法-最大最小距离算法(实例+代码)
聚类算法-最大最小距离算法(实例+代码) 【尊重原创,转载请注明出处】http://blog.youkuaiyun.com/guyuealian/article/details/53708042目录聚类算法-最大最小距离算法(实例+代码)一、最大最小距离算法基本思想二、算法实现步骤1.最大最小距离聚类算法(Matlab版本)2.最大最小距离聚类算法(Python版本)3....原创 2016-12-17 17:35:13 · 66803 阅读 · 52 评论 -
bilateral filter双边滤波器的通俗理解
bilateral filter双边滤波器的通俗理解 图像去噪的方法很多,如中值滤波,高斯滤波,维纳滤波等等。但这些降噪方法容易模糊图片的边缘细节,对于高频细节的保护效果并不明显。相比较而言,bilateral filter双边滤波器可以很好的边缘保护,即可以在去噪的同时,保护图像的边缘特性。双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素...原创 2018-09-23 17:50:35 · 33365 阅读 · 5 评论 -
YUV420与YUV444互转,YUV420与YUV444读取和保存,YUV的显示和播放功能
YUV420与YUV444互转,YUV420与YUV444读取和保存,YUV的显示和播放功能【尊重原创,转载请注明出处】:https://blog.youkuaiyun.com/guyuealian/article/details/82454945 OpenCV提供了RGB与YUV420/YUV444互转的接口:cvtColor(),但根尴尬OpenCV就是没有提供YUV444与YUV420互转...原创 2018-09-30 11:48:12 · 16682 阅读 · 2 评论 -
OpenCV+yolov3实现目标检测(C++,Python)
OpenCV+yolov3实现目标检测(C++,Python) 目标检测算法主要分为两类:一类是基于Region Proposal(候选区域)的算法,如R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN),它们是two-stage(两步法)的,需要先使用Selective search或者CNN网络(RPN)产生Region Proposal,然后再在Regi...原创 2018-11-15 09:38:29 · 23185 阅读 · 29 评论 -
利用MTCNN和facenet实现人脸检测和人脸识别
利用MTCNN和facenet实现人脸检测和人脸识别 人脸检测和人脸识别技术算是目前人工智能方面应用最成熟的技术了。本博客将利用mtcnn和faceNet搭建一个实现人脸检测和人脸识别的系统。基本思路也很简单,先利用mtcnn的进行人脸检测,当然也可以使用其他的人脸检测方法,如Dilb,OpenCV,OpenFace人脸检测等等,然后再利用faceNet进行人脸识别,faceNet可简单...原创 2018-12-09 14:29:07 · 62332 阅读 · 87 评论 -
python实现交并比IOU
交并比(Intersection-over-Union,IoU),目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。计算公式:Python实现代码:参考:https://blog.youkuaiyun.com/qq_30622831/...原创 2019-01-30 09:13:55 · 11438 阅读 · 2 评论 -
Python threading Thread多线程的使用方法
Python threading Thread多线程的使用方法参考资料:《Python 多线程》http://www.runoob.com/python/python-multithreading.html目录Python threading Thread多线程的使用方法1.使用Threading模块创建线程2.Thread线程同步3.使用多线程读取图像并返回数据1.使...原创 2019-03-13 16:36:18 · 5755 阅读 · 0 评论 -
OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充
OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充 , 利用感兴趣区域ROI和矩形类Rect,在OpenCV中可以很简单的就实现图像裁剪和剪切的功能,但剪切时常常会出现超出图像边界的区域的情况,对于超出图像边界的区域,我们必须进行特殊的处理,以避免出组数组越界的错误,如图1所示的裁剪错误。 对于特殊的要求,如,我们希望可以指定的颜色来填充,或者复制边界的像素的填充,甚至想镜像某个位置填充超出的边界,应该怎么办呢?OpenCV3中提供了一个图像边界的函数cv::copyMakeBorder(对应open原创 2017-09-27 15:25:13 · 26023 阅读 · 11 评论 -
图像中某点绕点旋转后的坐标,图像旋转坐标位置
图像中某点绕点旋转后的坐标,图像中像素点旋转后的坐标位置 在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)旋转θ角度后,新的坐标设为(x, y)的计算公式: x= (x1 - x2)*cos(θ) - (y1 - y2)*sin(θ) + x2 ; y= (x1 - x2)*sin(θ) + (y1 - y2)*cos(θ) + y2 ; 这是在平面原创 2017-10-19 18:48:58 · 43862 阅读 · 8 评论 -
目标检测的图像特征提取之(三)Haar特征
1、Haar-like特征 Haar-like特征最早是由Papageorgiou等应用于人脸表示,Viola和Jones在此基础上,使用3种类型4种形式的特征。Haar特征分为三类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特转载 2017-05-12 08:36:23 · 1328 阅读 · 0 评论 -
计算机视觉目标检测的框架与过程
个人接触机器视觉的时间不长,对于机器学习在目标检测的大体的框架和过程有了一个初步的了解,不知道对不对,如有错误,请各位大牛不吝指点。 目标的检测大体框架:目标检测分为以下几个步骤:1、训练分类器所需训练样本的创建: 训练样本包括正样本和负样本;其中正例样本是指待检目标样本(例如人脸或汽车等),负样本指其它不包含目标的任意图片(如背景等),所有的样本图片都被归一化为同样的尺寸大小(例如,转载 2017-05-12 08:37:19 · 1157 阅读 · 0 评论 -
目标检测的图像特征提取之(一)HOG特征
1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2转载 2017-05-12 08:33:57 · 3550 阅读 · 0 评论 -
目标检测的图像特征提取之(四)OpenCV中BLOB特征提取与几何形状分类
OpenCV中BLOB特征提取与几何形状分类一:方法二值图像几何形状提取与分离,是机器视觉中重点之一,在CT图像分析与机器人视觉感知等领域应用广泛,OpenCV中提供了一个对二值图像几何特征描述与分析最有效的工具 - SimpleBlobDetector类,使用它可以实现对二值图像几何形状的分离与分析。而它之所以强大是因为整合OpenCV中其它一些API的功能,主要是有三个:自动的图像灰度与二值化转载 2017-05-14 17:10:42 · 29031 阅读 · 2 评论 -
Matlab形态学图像处理:二值图像分割 标记连通区域和重心位置 删除连通区域
Matlab形态学图像处理:二值图像分割 标记连通区域和重心位置 删除连通区域 Matlab中可以使用graythresh(Img)函数设置二值化的阈值,再用im2bw转化为二值图像。在Matlab中,可以使用bwlabel()和bwlabeln()函数来标记二值图像的连通区域。需要注意的是:所谓的连通区域标记是指对二值图像中白色像色而言,即值为1的像素进行标记,而黑色像素看作是背景颜色。当然,Matlab中还有个regionprops()函数可以用于统计图像区域的属性,如面积大小,重心位置。原创 2017-05-19 19:46:21 · 42374 阅读 · 24 评论 -
MFC使用OpenCV在文档窗口中显示图像(支持多图片格式)
MFC使用OpenCV在文档窗口中显示图像(支持多格式图片),在VS2010中新建一个 MFC单文档或多文档的应用程序,结合OpenCV强大的图像处理工具,我们可以在MFC的“File/open”直接打开并显示图像,具体方法如下:(1)首先新建一个单文档或多文档的应用程序,项目名:Demo1(2)在“Demo1Doc.h ”头文件中包含“#include <opencv2/opencv.hpp>”并声明Mat变量img原创 2017-06-01 15:15:38 · 7214 阅读 · 1 评论 -
MFC文件打开格式,MFC默认打开文档后缀(支持打开多图像格式)
在VS中新建一个 MFC单文档或多文档的应用程序,可以通过“文件(File)/打开(open)”的打开文件选择的对话框,那如何选择文件过滤器呢,比如要实现选择打开文件格式为*.bmp或*.jpg的图像文件。一般可以通过编程的方法,动态实现这一方法,这有相关的博客介绍,我这里主要介绍另外两种简单的方法,可以实现默认支持的文件打开格式,也可以实现支持多格式的文件。【方法一】在新建MFC项目时(如单个文档或者多个文档)的MFC项目,在向导的【文档模板属性】的“文件扩展名”中输入你想默认支持的文件格式,如这里填写原创 2017-06-01 15:15:06 · 5230 阅读 · 0 评论 -
Dlib学习笔记:解决dlib array2d转 OpenCV Mat时颜色失真
Dlib学习笔记:解决dlib array2d转 OpenCV Mat时颜色失真 【尊重原创,转载请注明出处】 http://blog.youkuaiyun.com/guyuealian/article/details/77482549 在Dlib库中图像存储是使用array2d类型,而在OpenCV是使用Mat类型,Dlib中提供了#include <dlib/opencv.h>,可...原创 2017-08-22 17:17:42 · 5226 阅读 · 4 评论 -
Dlib学习笔记:dlib array2d与 OpenCV Mat互转
Dlib学习笔记:dlib array2d与 OpenCV Mat互转 【尊重原创,转载请注明出处】 http://blog.youkuaiyun.com/guyuealian/article/details/77101603 在Dlib库中图像存储是使用array2d类型,而在OpenCV是使用Mat类型,Dlib中提供了#include <dlib/opencv.h>,可实...原创 2017-08-12 15:06:44 · 8069 阅读 · 1 评论 -
Matlab图像剪切,超出图像区域指定颜色填充
Matlab图像剪切,超出图像区域指定颜色填充,Matlab自带图像剪切(裁剪)函数,即imcrop函数,但该函数对于超出图像边界区域是停止裁剪的,即对超出图像边界的部分不作裁剪处理。正常情况下,imcrop函数足够使用了。但有时,我们希望对于超出图像边界的区域,可以指定颜色填充,以便我们可以观察,裁剪情况。原创 2017-08-23 16:58:49 · 9585 阅读 · 0 评论 -
OpenCV在图像中添加文字,画点,画直线
OpenCV在图像中添加文字,画点,画直线 ,OpenCV在图像中添加文字,绘制点,绘制直线 ,原创 2017-09-06 20:27:54 · 21901 阅读 · 0 评论 -
目标检测的图像特征提取之(二)LBP特征
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen,和 D. Harwood 在1994年提出,用于纹理特征提取。而且,提取的特征是图像的局部的纹理特征; 1、LBP特征的描述 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值转载 2017-05-12 08:35:29 · 2221 阅读 · 0 评论