锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Carla实现强化学习(1)

时间:2022-08-07 15:00:00 nt1传感器

Carla实现强化学习(1

  • 安装所需的模块
  • carla创建汽车并添加摄像头显示摄像头获取的图片
  • 图片的reshape报错

安装所需的模块

首先下载carla
链接: https://pan.baidu.com/s/1JTfm93EjYNXBgeUrN6Z8lQ 提取码: qxf4
注意:python的版本使用3.7 否则会报错
安装tensorflow

pip install tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple  pip install tensorflow-gpu==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 

carla创建汽车并添加摄像头显示摄像头获取的图片

import glob import os import sys import random import time import numpy as np import cv2  try:     sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (         sys.version_info.major,         sys.version_info.minor,         'win-amd64' if os.name == 'nt' else 'linux-x86_64) except IndexError:     pass import carla  IMG_WIDTH=600 IMG_HEIGHT=480 def process_img(image):     i=np.array(image.raw_data)     print(i.shape)     i2=i.reshape((IMG_HEIGHT,IMG_WIDTH,4))     i3=i2[:,:,,:3] #所有高度和rgb,不要alpha快速获取通道RGB     #print(dir(image))     cv2.imshow('',i3)     cv2.waitKey(1)     return i3/255.0  actor_list=[]  try:      ##生成车辆     client=carla.Client(host='127.0.0.1', port=2000) #连接主机     client.set_timeout(2.0)      world=client.get_world()      blueprint_library=world.get_blueprint_library()      bp=blueprint_library.filter('model3]     print(bp)      spaw_point=random.choice(world.get_map().get_spawn_points()#随机生成车辆 ,随机点     vehicle=world.spawn_actor(bp,spaw_point)#随机生成车辆     #vehicle.set_autopilot(True) #按规定行驶     vehicle.apply_control(carla.VehicleControl(throttle=1.0,steer=0.0))     actor_list.append(vehicle)      ##传感器安装在车辆上方,以满足以下碰撞检测     cam_bp=blueprint_library.find('sensor.camera.rgb')     cam_bp.set_attribute('image_size_x',f"{IMG_WIDTH}")     cam_bp.set_attribute('image_size_x', f"{IMG_HEIGHT}")     cam_bp.set_attribute('fov','110')      spawn_point=carla.Transform(carla.Location(x=2.5,z=0.7)#设置摄像机的位置     sensor=world.spawn_actor(cam_bp,spawn_point,attach_to=vehicle)     actor_list.append(sensor)     sensor.listen(lambda data:process_img(data))     time.sleep(10) finally:     for actor in actor_list:         actor.destroy()         actor.destroy()         print('All cleaned up!') 

图片的reshape报错

ValueError: cannot reshape array of size 149184 into shape (28,28,1)
由于图片的w,h,c相乘不等于149184。也就是说,这张照片shape(28,28,1)。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章