基于声音和视频的人跟随自动驾驶汽车- smart_car PC端 python环境搭建

2023-05-16

 

 

PC端环境和代码

1、先测试代码,缺啥安装啥模块:

测试环境 ubuntu-16.04-desktop-amd64

python2.7

sudo pip install pygame


注意要用root权限

pip安装OpenCV

sudo pip install opencv-python

一个个测试太慢,直接打开python,复制粘贴import的库

import socket
import time
import pygame
#import cv2.cv as cv  
import Image, StringIO  
import threading
 
 
import cv2
import numpy as np

 

就差Image模块了,(Ubuntu)

sudo pip install Image

或者安装(树莓派)

sudo pip install pillow

安装完成最后再测一遍,还是报错,

把import Image替换成"import PIL.Image",就可以导入了

打开PC端代码PC.py,把import Image替换成"import PIL.Image",凡是用到Image的都修改成PIL.Image(前提你的安装pillow(PIL))

最终PC.py:

#!/usr/bin/env python
import socket
import time
import pygame
#import cv2.cv as cv  
import PIL.Image
import StringIO  
import threading
 
 
import cv2
import numpy as np
 
 
 
 
def main():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect(('192.168.31.118',9004))
    pygame.init()
    W, H = 320, 240
    screen = pygame.display.set_mode((W, H))
    clock = pygame.time.Clock()
    running = True
    command_to_send=0
    command_last=0
    laser_control = False
    while running:
        command_last=command_to_send   
 
 
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                command_to_send=5
                running = False
            elif event.type == pygame.KEYUP:
                command_to_send=0
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP:
                    command_to_send=1
                elif event.key == pygame.K_DOWN:
                    command_to_send=2
                elif event.key == pygame.K_LEFT:
                    command_to_send=3
                elif event.key == pygame.K_RIGHT:
                    command_to_send=4
         
        if(command_to_send!=command_last):
            sock.send(str(command_to_send))
 
 
        clock.tick(50)
 
 
 
    sock.close()
 
 
 
 
if __name__ == '__main__':
    main()

 

树莓派端环境和代码:

先打开python,测试库缺漏情况:

小车部分功能:

import socket
import sys
import threading
import random
import os
import time
import struct
import serial

完整功能库:

import socket
import sys
import threading
import random
import os
import time
import struct
import serial


import cv
import cv2
import PIL.Image
import StringIO
import numpy as np


from voice_engine.source import Source
from voice_engine.channel_picker import ChannelPicker
from voice_engine.doa_respeaker_4mic_array import DOA
from pixels import pixels

import datetime

 

部分功能完全通过:

最终功能语音、图像方面的库有缺漏:

 

测试部分功能代码:

单个文件可以通过VNC直接发送,多个文件打包成zip再通过VNC发送到树莓派3B+;

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于声音和视频的人跟随自动驾驶汽车- smart_car PC端 python环境搭建 的相关文章

  • Dolphinscheduler 学习笔记

    Dolphinscheduler官网 https dolphinscheduler apache org Dolphinscheduler下载地址 https www apache org dyn closer lua dolphinsch
  • DataX 学习笔记

    一 DataX简介 1 1 DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具 xff0c 致力于实现包括关系型数据库 MySQL Oracle等 HDFS Hive ODPS HBase FTP等各种异构数据源之间稳定
  • linux查看整个机器内存使用情况

    1 free命令 参数介绍 xff1a total 内存总数 used 已经使用内存数 free 完全空闲内存 shared 多个进程共享的内存 buffers 用于块设备数据缓冲 xff0c 记录文件系统metadata xff08 目录
  • Docker 学习笔记

    第1章 docker简介 1 1 什么是docker 1 Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目 xff0c 它是基于 dotCloud 公司多年云服务技术的一次革新
  • TiDB 学习笔记

    第一章 TiDB概述 TiDB官网 https pingcap com index html TiDB可以理解为是MySQL的加强版 分布式MySQL MySQLPlus TiDB 简介 TiDB 是 PingCAP 公司设计的开源分布式
  • SeaTunnel 学习笔记

    第1章 Seatunnel概述 官网地址 xff1a https seatunnel apache org 文档地址 xff1a https interestinglab github io seatunnel docs 1 1 SeaTu
  • Snake-SLAM:VIO、解耦化优化、延迟建图、图优化、鲁棒性初始化

    本来想写一篇文章 xff0c 但是这篇已经写的很好了 xff0c 不再赘述 xff1a 一种解耦非线性优化的高效VI SLAM系统 Snake SLAM
  • PooledByteBuf分配及回收之六PooledUnsafeDirectByteBuf初始化

    PooledByteBufAllocator初始化 PoolThreadCache初始化 PoolAerna初始化 PoolChunk初始化 PoolSubpage初始化 PooledUnsafeDirectByteBuf初始化 分配微小型
  • CubeMx工程增加FreeRtos支持

    对于stm32一些ram和flash相对大一些的mcu xff0c 增加一个实时操作系统 xff0c 会使程序控制更加灵活 本文阐述一下通过CubeMx自动添加FreeRtos的方法 xff0c 和使用visualgdb加载CubeMx生成
  • 整理leetcode刷题过程中遇到的常用库函数(c++)

    整理leetcode刷题过程中遇到的常用库函数 xff08 c 43 43 xff09 如果有额外的了解需求 xff0c 可以在微软c 43 43 库函数进行了解 以下按照我理解的刷题顺序整理 xff1a 数组 数组是刷题的开始 xff0c
  • s5pv210开发与学习:1.3之SD卡学习

    目录 拓展阅读 SD卡 内存 RAM 与外存 ROM 的区别 RAM random access memory 随机访问存储器 特点是任意字节读写 随机访问 xff0c 掉电丢失 ROM read only memory 只读存储器 用于存
  • RT-Thread 开发者能力认证考试样题(RCEA)

    V1 0 RT Thread 开发者能力认证考试样题 RCEA xff09 注 xff1a 样题仅为部分题目 第一小卷 单选题 40 题 40 分钟 40 0 分 1 对两个字符 a 和 b 进行初始化 xff1a char a 61 34
  • Android开发中为什么有些变量会以m开头

    平常在看Android代码和看别人敲代码的时候经常看到有些变量会以m开头 xff0c 这到底是什么样的命名规则呢 xff1f 首先看官网的答案 xff1a Follow Field Naming Conventions Non public
  • Ubuntu 串口设备 USB tty

    Ubuntu 串口设备 USB tty 概述USB查看详细信息 概述 研究Ubuntu下串口设备的连接 xff0c 简单的讲就是看有没有连接上 xff0c 至于使用后面再说 USB 使用命令如下可以查看USB接口的信息 xff0c dmes
  • Nooploop UWB LinkTrack ROS下配置

    Nooploop LinkTrack ROS 1 概述2 ROS下配置3 ROS系统安装4 串行库安装 5 ROS包的配置5 1 找不到libserial so文件5 2 解决办法 6 消息格式7 参考8 延伸阅读传感器配置节点程序分析经典
  • 相机标定之使用Kalibr工具箱

    相机标定之使用Kalibr工具箱 1 概述2 准备3 步骤4 参考链接5 相关链接 1 概述 简单介绍如何使用Kalibr工具箱进行针孔模型相机标定的步骤 xff0c 供自己以后参考 xff0c 同时希望给大家带来帮助 2 准备 提前准备好
  • 机器人学中的状态估计学习笔记(一)第二章 概率论基础

    机器人学中的状态估计学习笔记 xff08 一 xff09 第二章 概率论基础 2 1 概率密度函数2 1 1 定义2 1 2 贝叶斯公式及推断2 1 3 矩2 1 5 统计独立性和不相关性2 1 6 归一化积 2 2 高斯概率密度函数2 2
  • 机器人学中的状态估计学习笔记(二)第三章线性高斯系统的状态估计

    机器人学中的状态估计学习笔记 xff08 二 xff09 第三章线性高斯系统的状态估计 3 1 离散时间的批量估计问题3 1 1 问题定义3 1 2 最大后验估计3 1 3 贝叶斯推断3 1 4 存在性 唯一性与能观性情况1 xff1a 有
  • PooledByteBuf分配及回收之十PoolChunkList源码解析

    PooledByteBufAllocator初始化 PoolThreadCache初始化 PoolAerna初始化 PoolChunk初始化 PoolSubpage初始化 PooledUnsafeDirectByteBuf初始化 分配微小型
  • 机器人学中的状态估计学习笔记(三)第四章 非线性非高斯系统的状态估计

    机器人学中的状态估计学习笔记 xff08 三 xff09 第四章 非线性非高斯系统的状态估计 4 1 引言4 2 离散时间的递归估计问题4 3 离散时间的批量估计问题 4 1 引言 本小节主要是从一个简化的 一维度的非线性状态估计问题 估计

随机推荐

  • Camera-IMU联合标定原理

    Camera IMU联合标定原理 一 相机投影模型二 IMU 模型三 Camera IMU标定模型 一 相机 IMU旋转 二 相机 IMU平移 三 视觉惯性代价函数 四 camera imu联合标定 一 粗略估计camera与imu之间时间
  • 里程计及基于双目视觉的视觉里程计(stereo visual odometry)

    里程计在slam算法中扮演的作用不言而喻 xff0c 通常里程计可以分为轮子编码器的里程计 wheel odometry 和视觉里程计 visual odometry 而视觉里程计又可分为基于单目的视觉里程计 monocular odome
  • WIN7镜像中增加USB3.0驱动和语言包

    原版的win7镜像没有集成USB3 0的驱动 xff0c 如今的电脑主板基本是XHCI主控 xff08 以前是EHCI的 xff09 xff0c 这一变动导致在安装Win7的过程中会出现USB接口全部失灵的状况 xff0c 所以在安装时无法
  • Linux静态库与动态库示例之hello world

    Linux静态库与动态库示例之hello world 1 Linux动态库与静态库的基本概念 linux下有两种库 动态库和静态库 共享库 xff0c 二者的不同点在于代码被载入的时刻不同 静态库的代码在编译过程中已经被载入可执行程序 因此
  • 卡尔曼滤波原理及其在RSSI测距中的应用

    nbsp nbsp nbsp nbsp 卡尔曼滤波 Kalman filter 是一种高效的自回归滤波器 它能在存在诸多不确定性情况的组合信息中估计动态系统的状态 是一种强大的 通用性极强的工具 它的提出者 鲁道夫 E 卡尔曼 在一次访问N
  • cmakelist基本语法

    一 几个基本概念 xff1a 1 GCC a 由GUN 开发的编译器 支持C C 43 43 Java等语言 b 项目简单时 可以使用gcc g 43 43 来进行编译 c 项目复杂时 只使用gcc来进行编译会变得非常复杂 2 make a
  • LIST_ENTRY(item, type, member)详解

    64 brief Obtain the pointer to a structure that contains a list 64 param item IN Current node 39 s pointer to the next n
  • esp32 freertos backtrace问题定位

    log xff1a 17 42 41 320 收 TRAN OpenDataBusRequest ok TRAN Trans Srv Recv Data ret 0 TRAN TransDelSessionConnById channelI
  • 【荐书】李彦宏《智能革命》:技术是时代的信仰

    我来了 xff0c 天上的云乘着风飞翔 xff0c 心中的梦占据一个反向 xff0c 方舟扬帆起航 xff0c 一路带着我们纵情歌唱 xff0c 方舟扬帆起航 xff0c 脉络就在大海之上 xff0c 进步的时光 xff0c 迎着你看涛浪潮
  • PooledByteBuf分配及回收之十一ReferenceCountUpdater源码解析

    PooledByteBufAllocator初始化 PoolThreadCache初始化 PoolAerna初始化 PoolChunk初始化 PoolSubpage初始化 PooledUnsafeDirectByteBuf初始化 分配微小型
  • 在Windows环境下备份当前树莓派系统到IMG镜像

    2020年3月28日补充 写文章时采用的版本见图 xff0c 目前本人采用的DiskGenus版本为v5 0 0 589 xff0c 由于本人不使用gui界面 xff0c 将运行级别改为了3 针对Starting Show Plymouth
  • IMU+GPS

    GPS 43 IMU 介绍 xff08 熟悉的略过 xff09 IMU校准姿态估算数据融合 介绍 xff08 熟悉的略过 xff09 GPS GlobalPositioningSystem xff1a 指美国国防部研制的全球定位系统 用户设
  • Xinetd服务的安装与配置

    一 Linux守护进程与初始化进程 什么是守护进程 Linux服务器的主要任务就是为本地或远程用户提供各种服务 通常Linux系统上提供服务的程序是由运行在后台的守护进程 xff08 Daemon xff09 来执行 一个实际运行中的Lin
  • c++学习总结(4):继承与多态

    C 43 43 学习总结 xff08 4 xff09 xff1a 继承与多态 一 继承和派生二 子类与父类之间的构造函数与析构函数三 子类与父类成员重名四 多继承五 虚继承 virtual六 多态七 虚析构函数八 重载 xff0c 重写 x
  • Jenkins介绍和安装及配合GitLab代码自动部署

    Jenkins介绍和安装及配合GitLab代码自动部署 https www cnblogs com xiewenming p 7490828 html 一 xff0c 安装docker ce版本 1 1 删除之前版本的Docker sudo
  • 树莓派Raspberry 3b+ 搭建服务器全能环境+web控制面板+外网快速访问

    1 pi账户登录下 xff1b sudo wget O install sh http download bt cn install install ubuntu sh sudo bash install sh 注意 xff0c 记下提示的
  • 树莓派 frp内网穿透

    使用树莓派当服务器 无法在外网访问 需要用一台公网的服务器 将树莓派的 端 A 映射到服务器的 端 B 上 到时候访问端口B 就可以访问到树莓派的端口A 软件名称 frp 官 网 https github com fatedier frp
  • 广东IPTV 第三方APP应用安装(超简单)

    1 需要安装的APP软件先行下载到U盘或microSD卡 xff1b 2 插入盒子打开 xff0c 安装并打开文件管理软件 xff0c 把APP复制或移动到盒子的系统卡上 xff1b 3 直接双击安装APP即可 注意APP不能安装太多 xf
  • win10空间爆满,问题排查,从AppData \ Local \ Packages中删除数据

    问题 xff1a C盘139G xff0c 只剩2 8G可用 xff0c 生产很多问题 xff0c 导致很多软件无法正常安装和运行 xff0c 360常规清理了垃圾 xff0c 还是没什么改善 xff0c 于是排查大容量文件和文件夹 xff
  • 基于声音和视频的人跟随自动驾驶汽车- smart_car PC端 python环境搭建

    PC端环境和代码 1 先测试代码 xff0c 缺啥安装啥模块 xff1a 测试环境 ubuntu 16 04 desktop amd64 python2 7 sudo pip install pygame 注意要用root权限 pip安装O