沉迷单车的追风少年
CSDN博客专家,CSDN商业化专家,官方内容合作伙伴,官方认证“人工智能领域优质创作者”,入选2023年中国开发者影响力年度榜单。
代表专栏《Diffusion Models与深度学习》、《手把手写深度学习》、《深度学习-计算机视觉》、《手把手写C++服务器》等。
展开
-
Python&OpenCV——角点检测
OpenCV主要提供了两种角点检测:Harris角点检测:Harris角点检测是一种直接基于灰度图的角点提取算法,稳定性高,尤其对L型角点(也就是直角)检测精度高。缺点也是明显的,就是运算速度慢。用cv2.cornerHarris进行处理 Shi-Tomasi角点检测:Shi-Tomsi算法是Harris算法的加强版,性能当然也有相应的提高。用cv2.goodFeaturesToTrack进...原创 2019-03-24 20:09:43 · 3673 阅读 · 6 评论 -
opencv&python——高通滤波器和低通滤波器
非常常用的两种滤波器:高通滤波器和低通滤波器# -*- coding: utf-8 -*-# ——创建时间:2019.2.21——# 高通滤波器(HPF)# 简单的说,就是让像素突出的更加突出# 低通滤波器(LPF)# 像素与周围像素的亮度差值小于一个特定值时,平滑该像素的亮度# 主要用于去噪和模糊化import cv2 as cvimport numpy as npf...原创 2019-02-21 17:18:54 · 5909 阅读 · 0 评论 -
整理:opencv颜色灰度值、HSV和HSL
前言: 在opencv很多函数中都需要设定灰度值参数,但是我们很多时候并不知道我们的灰度值是多少,我整理了两种方法如下1. 查颜色表,第一表查看颜色对应的灰度值的大概表示,用第二幅图估计颜色的灰度值的大致大小,虽有些粗略,但是挺实用最左边值是255,最右边的值是0(原图很清晰,传上来就不行了……)2.常见颜色HSV值,其中V是Value,即灰度值。如下表,最后两行就是灰度值的表...原创 2019-08-01 11:52:11 · 7111 阅读 · 0 评论 -
.off打开方式、文件格式和使用代码(Python示例)
目录文件格式打开方式使用方法参考文件格式OFF是Object file format的缩写,即物体文件格式的简称。OFF是一个几何定义的文件格式,包含构成的描述多边形的几何对象的,它可以存储2D或3D对象,并且简单的扩展使其也可以表示高维对象。文件语法:OFF顶点数 面片数 边数# 以下是顶点坐标x y zx y z...# 以下是每个面的顶点的索引和颜色n个顶点 顶点1的索引 顶点2的索引 … 顶点n的索引 RGB颜色表示...比如常见的立方体文.原创 2021-01-30 10:44:27 · 1865 阅读 · 8 评论 -
19年电赛B题巡线机器人走过的坑
应该是最后一篇电赛博文了……总结一下走过的坑稠密光流必挂。稠密光流标准实验是摩尔纹,但是仅仅只是理论上的概念,算力、场地等都有很大影响,我们赛区用稠密光流的都挂了 稀疏光流定位不准,受场地影响很大 对天光流定位是一种讨巧的好方案,前提是提前知道场地的一些基本信息 有的赛区边界是用墙壁来算的,运动到墙壁附近没有考虑气流影响必挂。 比赛的边界距离拐弯点很近,如果是330的机架能拐过弯仅存理...原创 2019-08-15 10:06:12 · 3059 阅读 · 7 评论 -
2019年电赛B题视觉源码
在锡月平台上移植好的源程序# -*- coding:utf-8 -*-# 创建时间:2019年8月8日# 功能:模式一:二维码/条形码识别+拐点圆柱识别# 模式二:靶子识别定位import numpy as npimport imutilsimport timeimport cv2import V_Display as vdimport V_UCom as co...原创 2019-08-12 09:38:52 · 2324 阅读 · 12 评论 -
电赛机器视觉——测试调整HSV工具代码
使用HSV值定位识别特定物体的方法虽然很low,不过在比赛中特别好用,坑的地方就是我可以很容易判断出我目标物体HSV值的范围,但是比赛场地会有很多其他干扰物,非常容易误识别,所以必须再次调整进行处理,缩小目标HSV值的范围,达到最佳效果,我总结了一篇:https://blog.csdn.net/qq_41895747/article/details/98043823以下是我比赛时用的调整测...原创 2019-08-12 09:36:00 · 701 阅读 · 2 评论 -
电赛机器视觉——19年电赛判断摩尔纹角点
19年电赛可以铺设摩尔纹,由于这题定位实在困难,所以采用判断铺设摩尔纹的角点作为无人机位置辅助定位的一种方式,虽然有点讨巧,但是方法不错。以下是源码# -*- coding:utf-8 -*-# 创建时间:2019年8月8日# 水平直线和竖直直线交点定位出角点法import cv2import numpy as np# 导入图像# cap = cv2.VideoCaptu...原创 2019-08-12 09:28:59 · 934 阅读 · 0 评论 -
电赛机器视觉——19年电赛识别黑色杆判断无人机转弯视觉部分
2019年电赛需要视觉识别黑色杆判断无人机转弯,这个非常关键,我使用的是霍夫直线检测,记住需要设定mask二值化处理,场边的支撑物也是银白色的竖直杆子,若不注意百分百误识别挂掉!# 寻找竖直黑色直线并标记# 输入参数:image输入图像矩阵# 输出参数:黑色直线x轴坐标def black_line(image): # cv2.imshow('line_image', image...原创 2019-08-12 09:22:36 · 2017 阅读 · 4 评论 -
电赛机器视觉——基于HSV识别条形码
2019年电赛需要用到二维码条形码和二维码定位,我设计了基于形态学算法、基于pyzbar算法、基于HSV值判断、基于zxing算法四种方法,以下是基于HSV识别的部分。2019年电赛的条形码是黄色异物,可以使用特定颜色追踪的方法进行处理,缺点是测评现场的窗帘、地面砖都是类似黄色,需要微调闸值准确提取出黄色异物!!一下是我封装好的函数# 基于条形码的黄色值进行识别# 输入参数:im...原创 2019-08-12 09:17:54 · 768 阅读 · 0 评论 -
电赛机器视觉——基于pyzbar识别定位二维码和条形码
2019年电赛需要用到二维码条形码和二维码定位,我设计了基于形态学算法、基于pyzbar算法、基于HSV值判断、基于zxing算法四种方法,以下是基于pyzbar方法的源代码。# -*- coding:utf-8 -*-# 创建时间:2019年8月7日# 功能:使用pyzbar库识别二维码# 注:条形码和二维码通用import cv2import pyzbar.pyzbar a...原创 2019-08-12 09:13:34 · 1431 阅读 · 6 评论 -
电赛机器视觉——基于形态学算法定位二维码和条形码
2019年电赛需要用到二维码条形码和二维码定位,我设计了基于形态学算法、基于pyzbar算法、基于HSV值判断、基于zxing算法四种方法,以下是基于形态学方法的源代码。# -*- coding:utf-8 -*-# 创建时间:2019年8月7日# 条形码识别定位;基于形态学进行操作# 注:条形码和二维码通用import cv2import numpy as np# 识别出...原创 2019-08-12 09:11:40 · 828 阅读 · 2 评论 -
电赛机器视觉——稀疏光流追踪角点
光流概念:光流(Optical flow or optic flow)是关于视域中的物体运动检测中的概念。用来描述相对于观察者的运动所造成的观测目标、表面或边缘的运动。光流法在样型识别、计算机视觉以及其他影像处理领域中非常有用,可用于运动检测、物件切割、碰撞时间与物体膨胀的计算、运动补偿编码,或者通过物体表面与边缘进行立体的测量等等。卢卡库-卡纳的法求稀疏光流:在计算机视觉中,...原创 2019-08-05 11:55:04 · 578 阅读 · 0 评论 -
18年陕西省TI杯电赛无人机赛题视觉部分
更新:相同任务另外两种不同的视觉方法:https://blog.csdn.net/qq_41895747/article/details/97613077https://blog.csdn.net/qq_41895747/article/details/97614971任务:识别前方的方框,无人机从方框中飞出去视觉任务:识别特定方框,返回方框中心坐标# -*- codin...原创 2019-07-23 16:03:55 · 1092 阅读 · 8 评论 -
电赛机器视觉——混合高斯目标检测
算法原理:用GMM对背景建模的基本思想是把每一个像素点所呈现的颜色用K个高斯分布的叠加来表示,通常K取3-5之间。将像素点所呈现的颜色X认为是随机变量,则在每时刻t=1,…,T所得到视频帧图像的像素值只是随机变量X的采样值(观值)。在进行前景检测前,先对背景进行训练,对每一帧图像中每个背景采用一个混合高斯模型进行模拟,背景一旦提取出来,前景的检测就简单了,检查像素是否与背景的高斯模型匹配...原创 2019-08-04 21:48:29 · 449 阅读 · 0 评论 -
电赛机器视觉——KNN目标检测
KNN作为背景分割器进行目标检测,但是背景变化较大是效果非常差import cv2import numpy as npknn = cv2.createBackgroundSubtractorKNN(detectShadows = True)es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (20,12))camera = cv2.V...原创 2019-08-04 22:15:07 · 912 阅读 · 0 评论 -
电赛机器视觉——帧差异运动目标检测
如果只有一个目标物,根据每帧之间的差异识别出目标运动物体,效果比较好import cv2import numpy as npcamera = cv2.VideoCapture(0)es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (10, 10))kernel = np.ones((5, 5), np.uint8)backgro...原创 2019-08-04 21:15:19 · 529 阅读 · 0 评论 -
电赛机器视觉——激光点定位
这些阈值是通过设置的步长thresholdStep 逐渐递增的,知道达到设置好的最大阈值maxThreshold参数。所以第一个阈值是minthreshold,第二个阈值是minthreshold+thresholdStep ,第三个阈值是minthreshold+2×thresholdStep ,以此类推。计算这些二值图中的斑点的中心,并且将相互之间距离小于设置的minDistBetweenBlobs 的斑点合并成一个。让我们调用这些斑点。计算这些合并后的斑点的中心和半径,并返回。原创 2019-08-03 20:51:15 · 2276 阅读 · 0 评论 -
电赛机器视觉—— 一字型激光定位
走过的坑:概率霍夫变换识别出的直线容易被分割 二值化容易造成闸值受光照强度等因素影响较大,所以用边缘检测 膨胀处理未移植源码:# 创建时间:2019年8月3日# 直线中心点检测# 二值化会受到不同光线的影响import cv2import numpy as np# 一字型激光定位# 输入参数:img输入图像矩阵;# 输出参数:result处理后的图像矩阵;cx,c...原创 2019-08-03 18:09:51 · 910 阅读 · 2 评论 -
电赛机器视觉——十字激光中心定位
十字激光中心定位,主要用的算法:高斯滤波 fastNlMeansDenoising全局降噪 图像膨胀 概率霍夫算法 图像填充未移植的源码:# 创建时间:2019年8月2日# 功能:激光中心十字检测,计算中心点坐标import cv2import mathimport numpy as np# 激光十字检测计算直线参数函数def calculate_li...原创 2019-08-03 11:51:39 · 2083 阅读 · 0 评论 -
电赛机器视觉——均值漂移目标跟踪
meanshift、camshift、Kalman三种常用都尝试了,还是meanshift效果更理想,未移植的源码如下;# 创建时间:2019年8月1日# meanshift均值漂移目标跟踪import numpy as npimport cv2# meanshift兴趣区域跟踪# 输入参数:img目标区域图像矩阵;frame:训练图像矩阵# 输出参数:中心点坐标cx,xy...原创 2019-08-01 20:11:19 · 650 阅读 · 0 评论 -
电赛机器视觉——构建颜色直方图编码
构建颜色直方图编码在调节特定HSV值或者BRG值的目标识别追踪的时候很有用,以下为源码:# -*- coding: utf-8 -*-# 创建时间:2019年7月30日# 直方图均衡化测试import cv2import numpy as npfrom matplotlib import pyplot as pltfrom time import clockimport sy...原创 2019-07-30 19:20:31 · 329 阅读 · 0 评论 -
电赛机器视觉——字母识别、常见形状识别
使用轮廓匹配在嵌入式平台上运行很流畅,如果用常用的特征匹配算法在电脑上运行效果很好,但是在嵌入式平台上运行非常卡顿,不实用,以下是我移植好的源码# -*- coding:utf-8 -*- # 创建时间:2019年7月29日# 轮廓匹配识别字母、常见简单轮廓等import numpy as npimport imutilsimport timeimport cv2import...原创 2019-07-30 16:15:32 · 2398 阅读 · 0 评论 -
电赛无人机特征匹配(五):轮廓匹配算法
之前几篇介绍特征匹配算法,除了FLANN单应性匹配的效率比较理想之外,其他的如ORB,Harris运算量都很大,在树莓派上难以实现,用轮廓匹配算法符合嵌入式平台的实际要求以下是未移植的源码:# 创建时间:2019年7月29日# 轮廓匹配识别字母、常见简单轮廓等import cv2import numpy as np# 不同特征的形状匹配# 输入参数:model_img:目...原创 2019-07-29 23:38:52 · 910 阅读 · 0 评论 -
电赛机器视觉——二维码定位
二维码定位在无人机赛题中极有可能出现,一下为源码:# coding:utf8# 创建时间:2019年7月29日# 识别二维码并打印二维码的扫描结果的网址import cv2import pyzbar.pyzbar as pyzbar# 创建字典二维码数据集# 注:二维码格式应为int类型code_dic ={ "https://blog.csdn.net/sunn...原创 2019-07-29 17:39:56 · 1698 阅读 · 2 评论 -
电赛无人机特征匹配(四):FLANN算法匹配检测+图像畸变处理
单纯原始的FLANN算法如下,会有图像畸变难处理、特征值过多没有闸值限制等问题,如下:# -*- coding:utf-8 -*-# 创建时间:2019年7月28日# FLANN算法匹配检测;# 修改:模块化封装# 注:安装opencv-contrib-python 3.4.2.17以下版本import cv2# FLANN算法特征匹配检测# 输入参数:查询图像train_...原创 2019-07-28 16:36:53 · 1012 阅读 · 0 评论 -
18年电赛无人机视觉部分——单目摄像头+目标物识别改进版
双目测距在上一篇博客,极其不稳定,改成根据目标物面积估计的方法比较稳定,但精度较差,以下是未移植的# -*- coding:utf-8 -*-# 创建时间:2019年7月28日# 功能:识别待匹配的二维码# FLANN算法匹配检测;图像金字塔;D-P轮廓算法;# 注:安装opencv-contrib-python 3.4.2.17以下版本import cv2# FLANN算法...原创 2019-07-28 15:18:10 · 1998 阅读 · 0 评论 -
电赛无人机特征匹配(三):FLANN算法匹配检测+图像金字塔+D-P轮廓算法;
FLANN相比较与ORB和Harris,速度快十倍以上,在嵌入式视觉硬件上最实用,以下是未移植的源码# -*- coding:utf-8 -*-# 创建时间:2019年7月28日# 功能:识别待匹配的二维码# FLANN算法匹配检测;图像金字塔;D-P轮廓算法;# 注:安装opencv-contrib-python 3.4.2.17以下版本import cv2# FLANN算...原创 2019-07-28 15:13:32 · 1039 阅读 · 0 评论 -
电赛无人机特征匹配(二):ORB算法+BFM算法+D-P轮廓检测算法
ORB算法同样存在运算量较大的问题,在特征值较多的时候并不实用,以下时未移植的源码:# coding:utf-8# 创建时间:2019年7月28日# 功能:二维码特征匹配;# ORB算法;BFM算法;D-P轮廓检测算法import cv2import matplotlib.pyplot as pltimport numpycap = cv2.VideoCapture('.....原创 2019-07-28 15:10:30 · 776 阅读 · 0 评论 -
电赛无人机特征匹配(一):Harris角点特征检测+D-P算法轮廓处理
Harris角点特征检测的运算量有些大,如果是二维码之类特征值比较多的情况,实际根本用不了,运算一帧数据需要2-3秒;如果减少特征值或者先进行滤波,将会滤去较多细节特征值,造成无法识别不同的二维码一下是未移植的源码# coding:utf-8# 创建时间:2019年7月27日# Harris角点特征检测;# 以角点的个数作为判别依据# 修改:以检测到先进行轮廓检测降低运算量...原创 2019-07-28 15:07:18 · 693 阅读 · 0 评论 -
18年电赛无人机——调试HSV
需要提前调试HSV值将目标方框从复杂背景中抠出来,一下是调参的源码# -*- coding : utf-8 -*-# 创建时间:2019年7月20# 功能:调试出最佳的识别黑色兴趣区域的参数值import cv2import numpy as np# cap = cv2.VideoCapture(0) # 获取摄像头图像# cap = cv2.VideoCapture('.....原创 2019-07-28 12:15:38 · 1305 阅读 · 0 评论 -
18年电赛无人机视觉部分——双目测距+目标物识别改进版本
以下是移植好的锡月无人机视觉源码,使用双目测距,单目面积法估计下一篇给出# -*- coding:utf-8 -*-# 创建时间:2019年7月24日# 功能: 应用之前处理好的数据转换成深度图;# 点击深度图上的点可以打印距离值# 修改: 2019年7月25日# 模块化;去除点击打印功能;异常值处理;# 强制类型转换;更改默认坐标位置---&...原创 2019-07-28 12:13:22 · 2445 阅读 · 2 评论