很早就想写博客来记录自己的成长之路了,拖着拖着转眼就10月份了,该死的体测也快到了,难受的一,话不多说切入正题。今年19年,电赛国赛年,暑假在学校准备了一个多月吧,搞四轴飞行器,我负责视觉方面,然后学习了openmv,不幸的是,封箱前几个小时,临阵加电路,没想到电压问题把飞机搞炸了,最终遗憾弃赛,不过还是去了现场,说多了一把泪,往事如烟。暑假在学校准备电赛的时候同时准备了另一个比赛,写了代码,那就
Github上有更多代码,按需自取 文章目录说明注意代码 今天我们来介绍一下树莓派小车的循迹教程 首先看一个效果视频 说明该小车的硬件是:树莓派+L298N,其实用Arduino也是一样的,下位机只提供一个车轮的控制,视觉识别都是通过树莓派完成的视觉利用Opencv来实现,关于如何安装Opencv以及使用摄像头请参看我另一篇博客。算法逻辑:看到这样一个赛道,赛道是白色的,其余部分是我们都看成非
转载 2024-05-01 11:51:54
403阅读
概述        这篇文章的写作是最近正在重新学习线性代数后,想到的一个简单的应用。也是对OpenCV+TensorFlow简单的机器小车传统视觉寻迹这一篇文章的一个新的思路和比较。        在使用的技术工具上为opencv和tensorflow。opencv不过多介绍,在图像处理方法是一个非常好用的库了。使用
转载 2024-04-03 15:49:31
159阅读
在计算机视觉领域,处理图像往往面对许多问题,其中畸变现象是较为常见的。畸变的原因常常与相机的光学设置有关,而这些畸变会影响图像的质量与识别效果。在这篇文章中,我们将探讨如何使用 OpenCV普通相机图像进行去畸变处理,特别是通过 Python 完成这一过程。这不仅会帮助我们更好地理解这一技术,同时也为图像处理相关的业务场景提供了清晰的解决方案。 ### 背景定位 在各行各业中,图像处理技术
1. 开发环境编辑器:Visual Studio2022 OpenCV版本:4.5.42. MFC项目搭建 点击完成后,项目创建完成。界面如下: 点击"本地Windows调试器",即可运行,运行结果如下:3. 集成OPENCV3.1 opencv安装下载地址:https://opencv.org/releases/ 安装:无脑下一步(记住opencv的安装路径)3.2 opencv目录安装完成后,
转载 2024-03-13 19:48:56
178阅读
最近在做图像增强方面的算法,在参考了一些博客,论文和源代码后 ,自己整理了Retinex相关算法的opencv实现,在这里贴出来供大家参考 一.Retinex算法原理 基础理论:物体的颜色是由物体对长波(红色),中波(绿色),短波(蓝色)光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的;物体的颜色不受光照非均匀性的影响,具有一致性,即Retinex算法是基于物体的颜色恒常性来实现的。 R
转载 2024-03-29 14:46:02
268阅读
机器人技术的核心是运动控制,包括定位、导航、感知、决策、跟踪等,可广泛应用在家庭服务机器人、工业自动化机器人等领域。自动驾驶是人工智能领域最炙手可热的方向,互联网巨擎(谷歌、Uber、百度等)、传统汽车大厂商、 Tier1供应商以及很多初创公司都纷纷投入到这场全新的交通运输生态的创建中。截止2017年6月18日以来,共有34家公司获得美国加州路测资格,其中中国背景的公司就有9家。 通过对
一.材料1.51单片机开发板2.L298N电机3.红外循迹模块4.直流电机5.电池(提供电源,选用的是三节18650锂电池)6.杜邦线7.两个主动轮,一个万向轮8.小车底板(亚克力板)二.实现效果使小车在两侧黑线内沿着环形跑道自主行驶一圈,打开开关时小车前行,左侧检测到黑线时左轮前进,右侧检测到黑线时右轮前进,两侧都检测到黑线时小车停止。三.组装接线1.初步组装:将直流电机、 主动轮、万向轮、电池
该文章适合OpenCv的初学者以及对计算机视觉有了简单认识的朋友。以下将根据不同的能力水平进行梯度的讲解。最后会附带完整代码。小白需要知道的什么是传统的视觉寻迹?个人认为,传统寻迹就是通过记录轨迹的横坐标来进行判断。例如:这张图就被认为是直行。但是机器要怎么进行判断呢?我们可以通过将这个图片转换为一个矩阵,然后通过遍历来记录这些黑点的横坐标,从而获得黑点的平均横坐标来判断。source = 0
最近在看送药小车用OpenMv巡线的代码,正好看到这篇文章的代码,博主非常赞,直接把全部代码贴了出来,但是关于main函数函数注释比较少,所以看的比较困难,所以我想对这代码做一些注释,让自己能够有一个更好的理解,方便让大家阅读。话不多说,开始贴代码。GeometryFeature.pyclass GeometryFeature: def __init__(self, img):
      随着20世纪后期引入便宜的针孔相机,它们在日常生活中成为常见的事件。不幸的是,这种廉价的价格是:显著的扭曲。幸运的是,这些是常数,校准和一些重新映射,我们可以纠正这一点。此外,通过校准,您还可以确定相机的自然单位(像素)与实际单位之间的关系(例如毫米)。理论对于失真,OpenCV考虑到径向和切向因素。对于径向因子,使用以下公式:因此,对于坐标处的未失真像素
转载 2024-03-27 12:17:40
52阅读
目录图像平滑处理1、均值滤波2、方框滤波3、高斯滤波4、中值滤波图像平滑处理滤波处理主要是起到平滑图像,虑去噪声的功能import cv2 img=cv2.imread("/Users/admin/Desktop/opencv/lenaNoise.png",1) cv2.imshow('img', img) cv2.waitKey(0) cv2.destroyAllWindows()我们看一下面
转载 2023-11-10 21:54:49
130阅读
即将转入算法研究,对之前在相机使用和选型等等问题做个总结,先来回答一个
转载 2022-12-22 12:35:20
250阅读
常用的标定函数和流程,网上一大堆,这里就不想详细写了 这里说一下标定后常见的问题和我自己的一些做法。1.标定后丢失部分像素信息畸变校正后,边缘处出现一些黑色像素区域,其实也算是正常的,图片去畸变后补充的像素可以用initUndistortRectifyMap,传递新的相机参数矩阵得到新的mapx,mapy来解决。代码如下Mat NewCameraMatrix = cameraMatrix.clon
转载 2024-04-15 12:42:08
162阅读
目录1. 内参与畸变2. 用OpenCV标定相机程序3.画棋盘标定板4.OpenCV拍照 1. 内参与畸变理论部分可以参考其他博客或者视觉slam十四讲 相机标定主要是为了获得相机的内参矩阵K和畸变参数内参矩阵K畸变系数:径向畸变(k1,k2,k3), 切向畸变(p1,p2)径向畸变公式切向畸变公式张正友标定方法能够提供一个比较好的初始解,用于后序的最优化.这里用棋盘格进行标定,如果能够处理圆的
Android笔记③--OpenCV实现简易相机前言:项目需要,需要在开发板上实现视频监控以及拍照的功能。由于android.hardware.camera已被Google弃用,而camera2又不能在开发板上愉快地玩耍(4.0.3系统),因此只能通过OpenCV实现。在使用OpenCV实现的过程中,使用的是最简单的方法,即通过OpenCV Manager进行动态库的链接,且实现最简单的帧预览以及
转载 2023-11-02 13:53:53
224阅读
  Opencv自带的sample code有关于camera calibration的示例代码,但是在这里我使用的是Learning OpenCV3的示例,在其代码基础上上稍微做了一点改动。之所以不用opencv自带的例子,是因为Learning OpenCV3的代码更加简单,可以更容易的抓住代码的核心。本节使用的项目代码可以在这里下载到。一、运行示例  在下载完整个工程以后,按照工程使用说明,
1 查看支持的参数这里记录一下关于cv2配置摄像头曝光等参数的问题,可以参考文章:Python 下opencv 应用: 摄像头参数设置 关于参数的含义,可以参考:OpenCV VideoCapture.get()参数详解如果不能确定上面(包括本文博客的时效性),可以自己去opencv官方文档,找最新的文档,例如:https://docs.opencv.org/4.5.2/,然后从中搜索videoi
1、根据真实世界与图像坐标角点坐标对应关系计算相机内参矩阵与相机外参矩阵的积,即矩阵H; 2、根据图像的单应性矩阵构建点对应关系求解相机内参(理论至少需要三张图,因为内参矩阵构建的对称矩阵B有6个自由度,一张图只能提供两个方程);此处可参考:中(三,2) 3、求解相机外参 4、求解相机畸变因子#include <iostream> #include <fstream> #i
目录1. 坐标系转换1.1 各个坐标系的定义1.1.1 像素坐标系1.1.2 图像坐标系1.1.3 相机坐标系1.1.4 世界坐标系1.2 相机的内参和外参2. 图像畸变及畸变矫正2.1 相机的畸变模型2.1.1 径向畸变(参数:k1,k2,k3)2.1.2 切向畸变 (参数:p1,p2)2.2 畸变矫正3. 相机标定代码解读3.1 角点检测3.2 标定参数3.3 计算标定误差3.4 畸变矫正3
转载 2024-09-02 09:52:39
388阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5