自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 智能停车场系统:基于 pyqt5,opencv,MySQL

在上面的示例代码中,我们使用了 PyQt5 库来创建 GUI 界面,使用了 OpenCV 库来读取摄像头数据,并使用了 PyTesseract 库来识别车牌号码。如果登录成功,程序将转到主页界面,用户可以在主页界面中开启摄像头、拍照、识别车牌、入库或出库车辆,并可以注销用户退出系统。在程序中,我们使用了多个类来分别实现不同的功能,使代码更加清晰和易于维护。这是一个相对复杂的项目,需要使用多个技术和模块来实现。以下是一个简单的示例代码,可以使用 Python 和 PyQt 实现一个简单的智能停车场管理系统。

2023-06-28 01:52:55 1453

原创 flask 框架中对 MySQL 数据库进行增删改查

的数据模型,然后在 Flask 中创建了五个路由,分别用于创建用户、获取所有用户、获取单个用户、更新用户和删除用户。需要注意的是,在使用 SQLAlchemy 时,我们需要在 Flask 应用中先定义数据库连接信息和数据模型。使用 MySQL cursor 也可以直接执行 SQL 命令来实现对 MySQL 数据库的增删改查。在上面的示例代码中,我们首先连接到 MySQL 数据库,然后创建了一个 MySQL cursor 对象。接下来,我们可以使用。需要注意的是,在执行 SQL 命令后,我们需要使用。

2023-06-28 01:39:06 1720

原创 如何用 Python 开发一个简单的 blender 插件

在上述示例中,首先定义了一个名为“my_menu_func”的函数,该函数用于添加一个新的菜单项。然后定义了一个名为“MY_MESSAGE_BOX_OT_operator”的类,该类继承自bpy.types.Operator类,并实现了“execute”函数,用于弹出一个消息框。最后,在“register”函数中注册了插件,并将菜单项添加到Blender的菜单栏中。这只是一个简单的示例,实际上Blender插件的功能可以非常丰富,可以调用Blender的API来进行3D建模、动画制作等任务。

2023-06-28 01:30:31 2273

原创 算法实战 1:动态规划:最长公共子序列 Python

请注意,上述代码仅解决了最长公共子序列问题的长度,如果你需要获取具体的最长公共子序列本身(而不仅仅是长度),还需要进行某些额外的操作。希望这个示例能够帮助到你!来记录最长公共子序列的长度。,根据当前字符是否相等,更新。作为最长公共子序列的长度。以上的代码使用了二维列表。

2023-06-21 06:29:12 366

原创 算法实战 1:动态规划:最长公共子序列问题 c++

请注意,上述代码仅解决了最长公共子序列问题的长度,如果你需要获取具体的最长公共子序列本身(而不仅仅是长度),还需要进行某些额外的操作。希望这个示例能帮助到你!来记录最长公共子序列的长度。,根据当前字符是否相等,更新。作为最长公共子序列的长度。以上的代码使用了二维数组。

2023-06-21 01:59:41 366

原创 算法基础 1: 动态规划 原理

此外,动态规划算法通常要求问题满足无后效性,即子问题的解不会随着问题其他部分的改变而改变。确定状态转移方程:通过观察问题的特点和限制条件,找出不同状态之间的递推关系,即确定子问题之间的转移关系。它适用于那些具有重叠子问题和最优子结构性质的问题,可以大大简化问题的求解过程。它通过将问题分解为若干个重叠子问题,并利用子问题的解来构建原问题的解。通常采用自底向上的方式,先计算小规模的子问题,并逐步扩大规模,直到求解原问题。计算最优解:根据已经计算得到的子问题的解,通过某种方式选择最优解,并构建原问题的最优解。

2023-06-21 01:53:33 162

原创 flask 连接数据库实现登录

通过上述步骤,您可以使用Flask连接数据库并实现简单的登录功能。请注意,在视图函数中的用户验证部分使用了密码哈希函数来保护密码安全。为了完善该功能,您可能需要进一步考虑用户注册、身份验证和会话管理等方面的逻辑。

2023-06-20 00:16:14 366

原创 flask 实现智能机器人相关应用:人脸识别(2)

通过上述步骤,您可以在Flask应用中实现简单的人脸识别功能。请注意,在视图函数中编写的人脸识别代码是使用OpenCV库进行的,您可以根据自己的需求进一步开发和完善这部分功能。同时,还需要考虑数据的安全性、错误处理和性能优化等方面。

2023-06-20 00:05:06 255

原创 使用Flask来开发智能机器人相关应用(1)

这只是一个简单的示例,您可以通过添加更多的路由和视图函数来构建更丰富的Web应用。Flask还提供了许多有用的功能和扩展,例如处理表单、数据库集成等。请注意,将Web应用部署到生产环境时,需要进行适当的配置和安全性考虑。这包括设置密钥、使用HTTPS等。使用Flask来开发Web应用非常简单。,您将看到显示"Hello, World!现在,您可以在浏览器中访问。

2023-06-20 00:00:15 174

原创 论文推荐:ICCV 无需锚框的目标检测

目标检测是计算机视觉中的一个重要任务,它可以帮助机器人在复杂的环境中识别和定位不同的物体。传统的目标检测方法通常需要使用锚框(anchor box)来预设物体的形状和尺寸,然后根据锚框来预测物体的类别和位置。但是,锚框的设置往往是人为的,而且难以适应不同大小和比例的物体,导致目标检测的效果受到限制。更详细的解读可以看这篇链接:https://www.toutiao.com/article/7218030577457824256/为了解决这个问题,本文推荐一篇发表在ICCV的无需锚框的目标检测论文,

2023-04-07 16:15:32 677

原创 机器人与计算机视觉实战系列(4):基于帧间差异的运动物体检测以及相机运动状态估计

这是机器人与计算机视觉实战系列的第4篇,将介绍如何基于前后图像帧之间的差异进行运动物体检测和相机运动状态的估计。这是一种简单而有效的方法,可以用于自动驾驶、无人机、视频监控等场景中,提取出图像中的动态信息,并判断相机是否处于静止、平移或旋转状态。

2023-04-05 22:40:05 1714 1

原创 机器人与计算机视觉实战系列(3):ROS2 基础入门

ROS2系统的核心部分是ROS网络 (ROS Graph) ,它是由一组相互通信的节点 (Node) 组成的。话题是一种基于发布/订阅模式的异步通信方式,一个节点可以发布一个话题,其他节点可以订阅这个话题,从而接收到发布者发送的消息。服务是一种基于请求/响应模式的同步通信方式,一个节点可以提供一个服务,其他节点可以请求这个服务,并得到提供者返回的响应。ROS2还保留了ROS1的优点,如发布/订阅模式、节点、话题、服务、参数等概念,以及丰富的软件包和工具。

2023-04-03 12:28:21 565

原创 机器人与计算机视觉实战系列(2):编程环境配置

这是机器人与计算机视觉实战系列第二篇:编程环境配置。本文将介绍如何配置VS Code,使得它可以连接已经安装好的WSL2中的ubuntu进行编程开发。

2023-04-03 11:57:31 156

原创 机器人与计算机视觉实战系列(1):环境介绍

实战机器人和计算机视觉的环境配置。包括ubuntu、WSL2的ubuntu、ROS2以及Pytorch2.0的安装和配置。

2023-04-03 11:47:33 306

原创 基于神经辐射场(Neural Radiance Fields,NeRF)的三维重建方法——导言

NeRF具有一些优点,例如可以从少量图像中重建高质量的三维场景、可以处理复杂的光照和遮挡效果、可以表示无限细节的场景等。- 网络结构:不同的方法使用不同的网络结构来表示NeRF,例如多层感知机(MLP)、卷积神经网络(CNN)、循环神经网络(RNN)、变分自编码器(VAE)等。- 应用领域:不同的方法针对不同的应用领域进行了改进和扩展,例如人脸重建、人体重建、动态场景重建、可编辑重建等。- 输入数据:不同的方法使用不同类型和数量的输入数据,例如单张图像、多张图像、视频序列、稀疏点云等。

2023-04-02 17:15:15 952

原创 为ROS2编译实时Linux内核

这个教程是在一个刚安装完的干净的运行在Intel x86_64的Ubuntu 20.04.1 上进行的。同时,我在Ubuntu 18.04上也进行过测试,也是可以顺利安装的。实际的内核是5.4.0-54-generic,但是我们会安装最新的稳定的RT_PREEMPT版本。为了构建这个内核,你需要至少30GB的空闲磁盘空间。查看https://wiki.linuxfoundation.org/realtime/start,看看哪个最新的稳定版本,在写的时候是“Latest Stable Version 5.

2022-01-08 17:26:53 1285

翻译 ROS 2 教程(入门级):创建一个launch文件

目标 创建一个launch文件来运行一个复杂的ROS 2系统。背景知识直到这个教程之前,你已经尝试过通过打开新的终端,运行新的节点。随着你创建越来越复杂的系统,系统中有越来越多需要同时运行的节点,打开多个终端并且重新输入设置就变得让人厌烦。Launch文件让你可以同时启动并配置多个多执行的ROS 2 节点。使用ros2 launch命令运行一个launch文件就可以一次性启动你的整个系统,包括全部的节点以及他们的配置文件。前提条件这个教程会用到rqt_graph以及turtlesim包。你也会

2021-08-11 10:24:56 3824 1

翻译 ROS2教程(入门级):创建ROS 2 package

目标 使用CMake或者Python创建你的第一个软件包,并且运行它的可执行文件。背景知识1. 什么是ROS 2 包?一个包可以被看做是你的ROS2的代码的容器。如果你想让你的代码可以安装或者分享给其他人,那么你将需要将它组织成一个包。通过软件包,你可以发布你的ROS 2 工作,同时其它人可以很容易地构建并使用它。在ROS 2 中,软件包是用ament作为编译系统,将colon作为编译工具。你可以使用CMake或者Python来创建一个包,这些是官方支持的,虽然也还有其它的编译的类型存在。2.

2021-08-04 21:11:56 3328

翻译 ROS2教程(入门级):创建ROS2工作空间

**目标:**创建一个工作空间并且学习如何为开发和测试设置上层工作空间(overlay)。背景知识工作空间指的是包含了ROS 2 应用包的文件夹。在使用ROS 2之前,需要在你将要进行工作的终端上,source你安装了ROS 2的工作空间。这使得ROS 2的应用包可以在所打开的终端上使用。你还有一个选择是source一个上层工作空间,也就是第二工作空间。第二工作空间指的是你添加了一些新的包,但是它跟已经有的ROS 2 工作空间不存在接口。你的基础工作空间必须要包含有你的上层工作空间所需要的全部依赖。你

2021-07-16 07:03:52 5291

翻译 ROS2教程(入门级):记录和回播数据

目标: 记录从话题发布出来的数据,以便我们可以随时回放和检查它。背景知识ros2 bag是一个用来记录你的系统中的话题所发布的数据的命令行工具。它可以收集任意多个话题所发布的数据,并且将数据保存在一个数据库中。你随后可以回播这些数据来复线你的测试结果以及实验结果。记录话题也是分享你的工作的重要方式,它允许其它人复现这个工作。前提条件备注对于ROS 2 Foxy的用户来说,如果需要一个性能更强的rosbag2,可以查看foxy-future branch of rosbag2。这是一个官方支持的分支

2021-07-10 17:55:59 1340 1

翻译 ROS2教程(入门级):ROS2中使用rqt_console

目标: 了解rqt_console这个可以用来查看log消息的工具。背景知识rqt_console 是ROS2中用来查看log消息的图形化界面。比较经典的情况是,log消息会出现在你的终端。通过rqt_console ,你可以采集这些数据,后续可以仔细的查看它,从里面过滤出你需要的消息,保存这些消息,甚至从保存的文件中将它们加载出来,再次对消息进行分析。节点通过log以多种多样的方式输出它关注的事件和状态的消息。为了方便用户,这些内容通常都是有信息量的。前提条件首先,你需要先安装rqt_conso

2021-07-06 15:12:16 863

翻译 ROS2教程(入门级):理解ROS 2的动作(action)

目标: 介绍ROS 2中的动作。背景知识动作是ROS 2 中用来沟通的类型之一。 他是为长时间运行的任务准备的。 它包括三个部分:目标,反馈以及结果。动作是在话题和服务的基础上构建的。 它的功能类似于服务,但是动作是可以抢占的,意思是, 你可以在节点运行时,取消动作。 他同时能够提供稳定的反馈,不像服务,每次都只返回一个回复。动作同样使用的是客户端+服务器的模式,类似于发布器与订阅器的模式。 一个动作的客户端节点发送一个目标到一个动作的服务器节点, 服务器节点会确认收到这个目标并且返回一个反馈流和一

2021-07-05 21:46:53 1017

翻译 ROS2教程(入门级):理解ROS 2的参数(parameter)

目标: 学习如何在ROS 2 中获取、设置、保存以及重新加载参数。背景知识参数是节点的配置,也就是应用的设置。一个节点的参数可以是整型(int)、浮点数(float)、布尔类型(booleans)、字符串(string)以及列表(list)等。在ROS 2中,每个节点都有自己的参数。所有的参数都可以动态进行设置,并且可以跟ROS 2中的服务(service)建立起关系。前提条件这个教程,将会使用到turtlesim包,具体的安装过程可以看:turtlesim的安装。还是那句话,不要忘记在每一个新打开

2021-06-26 08:48:16 1957

翻译 ROS2教程(入门级):理解ROS 2的服务(service)

Understanding ROS 2 services目标: 使用命令行工具学习关于ROS 2 中的服务(services)的知识。背景知识服务(services)是ROS中用于节点之间沟通的另外一种方式。之所以说另外一种,之前发布的教程中就讲了一种,是通过话题(topic)进行沟通的,有兴趣的话,可以戳:理解ROS 2话题(topics)。服务是基于一种call-and-response(呼叫-回应)模型,而话题是publisher-subscriber(发布-订阅)模型。使用话题的时候,节点通

2021-06-22 22:37:53 3777

翻译 ROS2教程(入门级):理解ROS 2话题(topics)

目标: 使用rqt_graph和命令行工具讲解ROS 2 的话题(ROS 2 topic)。背景知识ROS 2将复杂的系统分见为许多模块化的节点。话题(topics)是ROS graph(图)中非常重要的的组成部分,它像交通工具一样,为各个节点交换信息。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kBOOIY2e-1624290284959)(https://docs.ros.org/en/foxy/_images/Topic-SinglePublisherandSi

2021-06-21 23:48:14 1571

翻译 ROS2教程(入门级):理解ROS 2的节点

目标: 学习ROS 2关于关于节点的功能,并且通过工具跟它交互。知识讲解ROS 2 图 (ROS 2 graph)经过前面的几个博客,我们通过rqt这个图形界面工具,以及turtlesim大致的了解到ROS 2 的一下核心的概念。这个核心的概念组成了ROS 2 graph(图)。如果你还没有浏览过之前的博客,可以到我的ROS 2专栏中翻一下。在接下来的几个教程,我们将会详细地学习到一系列关于ROS 2的核心概念。ROS 图(graph)是一个能够同时地共同进行数据处理的ROS 2的组件。它包含了全

2021-06-19 11:26:57 3019

翻译 ROS2教程(入门级):ROS 2 中的小海龟以及rqt的使用(2)

4. 安装rqt打开一个新的终端安装rqt以及它的插件:sudo apt updatesudo apt install ~nros-foxy-rqt*运行rqt:rqt5. 使用rqt第一次运行rqt的时候,窗口是空白的。不用担心,从顶部的菜单拦中选择Plugins > Services > Service Caller。备注rqt定位到它的所有插件可能会花费一些时间,如果你点击了Plugins,但是没有看到Services或者其它任何的选项,你需要关闭rqt,在你的终端

2021-06-18 16:08:15 1568

翻译 ROS2教程(入门级):ROS 2 中的小海龟以及rqt的使用(1)

目标: 安装并使用 turtlesim 包以及 rqt,为接下来的教程做准备。本篇博客依然是跟着官方文档来的,有兴趣直接阅读官方文档的可以看这个。背景Turtlesim是一个学习ROS 2的轻量级模拟器。它从最基本的层面上解释ROS 2是干什么的,让你知道未来应该怎么操作一个真实的或者仿真的机器人。rqt是ROS 2的一个GUI工具。所有rqt可以做的事情,都可以使用命令行来完成,但是它提供了一个更容易,更有好的操作ROS 2的组件的方式。这个教材会让你接触到ROS 2的核心概念,比如节点的分离,话

2021-06-17 11:03:53 3737

原创 ROS2教程(入门级):Ubuntu 20.04 设置 ROS 2 Foxy 环境

Ubuntu 20.04 设置 ROS 2环境目标: 这个博客讲述的是如何在Ubuntu上设置ROS 2 foxy的环境。官网地址:Configuring your ROS 2 environment背景知识ROS 2 依赖的工作空间是通过终端的环境来配置的。“工作空间”是ROS 2中指代你开发ROS 2所在的系统的位置。ROS 2的核心工作空间叫做"the underlay",大概是基础或者地基;本地工作空间的子序列都叫"overlay",大概就是覆盖物的意思。还是蛮形象的,本地子工作空间都是核心工

2021-06-16 07:51:20 2170

原创 Ubuntu 20.04 安装ROS2 foxy

禁止非授权直接转载。本次安装主要根据官网介绍的Debian packages按照方法进行。其他方法,请参考官网。https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.htmlROS 2 Foxy Fitzroy 的Debian packages 在 Ubuntu Focal,也就是Ubuntu 20.04上是可以获取的了。设置语言环境(Set locale)确保你的语言环境能支持UT...

2021-06-15 11:47:22 9484 9

原创 安装双系统--Windows 和 Ubuntu

作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!工欲善其事,必先利其器。Linux正在成为越来越多程序员的编程环境,然而也脱离不开使用Windows的习惯,所以安装双系统就为一个不错的选择,然而很多人不知道具体如何操作。根据我这几年的安装经验,其实不同...

2018-07-16 10:41:23 339

原创 c++入门练习篇(1)-- 内置类型

c++入门练习篇(1)-- 内置类型作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!一下的练习针对的是我博客的c++入门(2):c++入门(2-1)-- 变量与基本类型 -- c++ primer、 c++入门(2-2)-- 变量与基本类型。 如果不懂...

2018-07-12 20:33:33 640

原创 c++入门(3):c++入门(3)-- string 和 vector -- c++ primer

c++入门(3)-- string 和 数组 -- c++ primer作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!

2018-07-12 11:33:42 177

原创 c++入门(2-2)-- 变量与基本类型

c++入门(2-2)-- 变量与基本类型作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!如果你还没有接触过编程,想先体验一下编程的乐趣。请看我的c++入门(1)--输入输出,代码运行顺序及其控制。此文开始学习变量以及基本类型。其中,c++入门(2-1)...

2018-07-10 11:55:33 221

原创 c++入门(0):运行环境配置 -- c++ primer

c++入门(0)-- 运行环境配置作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!如果你还没有配置好环境,那你就来对地方了。如果想继续探索,请看我的下一篇c++入门(1)-- 输入输出,代码运行顺序及其控制。运行环境搭建c++运行环境的搭建会由于使用的...

2018-07-03 21:08:11 768

原创 c++入门(2):c++入门(2-1)-- 变量与基本类型 -- c++ primer

c++入门(2)-- 变量与基本类型作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!如果你还没有接触过编程,想先体验一下编程的乐趣。请看我的c++入门(1)--输入输出,代码运行顺序及其控制。此文开始学习变量以及基本类型。Types determine...

2018-07-03 20:46:02 521

原创 c++入门(1):输入输出,代码运行顺序及其控制 -- c++ primer

c++入门(1)-- 输入输出,代码运行顺序及其控制作者:Raphael Song 如需转载,请注明出处。The way to learn a new programming language is to write programs.让我们开始!如果你还没有配置好环境,请看我的c++入门(0)--运行环境配置。此文默认已经配置好运行环境了。写个简单的C++程序每一个C++程序都包含一个或者多个函...

2018-06-24 11:00:57 1007

pytorch2.0图像分类实战,带有数据集,兼容GPU版本和CPU版本

本文介绍了使用pytorch2.0进行图像分类的实战案例,包括数据集的准备,卷积神经网络的搭建,训练和测试的过程,以及模型的保存和加载。本案例使用了CIFAR-10数据集,包含10个类别的彩色图像,每个类别有6000张图像,其中5000张用于训练,1000张用于测试。本案例使用了一个简单的卷积神经网络,包含两个卷积层和两个全连接层,使用ReLU激活函数和交叉熵损失函数,使用随机梯度下降优化器。本案例可以在GPU和CPU上运行,根据设备的不同自动切换。本案例适合入门pytorch深度学习和练手,也可以用到项目当中。代码精炼,容易修改进行二次完善和开发。

2023-04-05

Linux内核设计与实现第三版

Linux内核设计与实现第三版是学习linux内核的经典教材。书本对linux内核的代码进行分析和解释

2018-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除