rqt显示不出来图像

因为发布要求的是8位

发布出来的是float64位,需要改变格式

def callback(self,data):
				print('callback')
				img = np.frombuffer(data.data, dtype=np.uint8).reshape(data.height, data.width, -1)
				img = img[:,:,::-1]
				self.img = img
				print(img.shape)
				m = self.deHaze(img/255)*255
				#print(dtype)  # 处理完要float64 还有负值
				m = np.clip(m,a_min=0,a_max=255) #先归一化到0-255消除负数
				print(m)
				m = m.astype(np.int8)  #在转化为8位数
				print(m.dtype) 
				self.publish_image(self.pub1,m,'base_link')
				print('finish remove fog')
        
		def publish_image(self,pub, data, frame_id='base_link'):
				assert len(data.shape) == 3, 'len(data.shape) must be equal to 3.'
				print(data.shape)
				header = Header(stamp=rospy.Time.now())
				header.frame_id = frame_id
			
				msg = Image()
				msg.height = data.shape[0]
				msg.width = data.shape[1]
				msg.encoding = 'rgb8'  #传入数据要求是8位
				msg.data = np.array(data).tostring()
				msg.header = header
				msg.step = msg.width *1*3
				print("**************************")
	
				pub.publish(msg)
				print("---------------------------")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可能是以下原因导致rqt_image_view不显示画面: 1. 没有发布图像话题或话题名称不正确。 2. 图像话题的格式不正确,例如图像的编码格式不支持。 3. rqt_image_view的配置不正确,例如缩放比例设置不正确。 4. 图像话题的频率太低,导致rqt_image_view无法及时接收到图像。 您可以检查以上原因,尝试解决问题。如果问题仍然存在,请提供更多详细信息,以便我们更好地帮助您解决问题。 ### 回答2: rqt_image_view是ROS中一个常用的图像查看工具,可以用于查看图像话题的实时图像,包括RGB图像,深度图像等。如果rqt_image_view不显示画面,可能有以下几个原因: 1. 没有正确设置ROS环境变量:在运行rqt_image_view前,需要确保ROS的环境变量设置正确,包括ROS_MASTER_URI和ROS_HOSTNAME等,如果环境变量设置不正确,rqt_image_view无法连接到ROS系统,因此无法显示图像。 2. 没有正确发布图像话题:rqt_image_view需要通过订阅图像话题来获取图像数据,如果没有正确发布图像话题,rqt_image_view无法显示图像。因此,需要确保已经正确发布需要查看的图像话题。 3. 图像格式不正确或图像数据为空:如果订阅的图像话题的数据格式不正确或者没有数据,rqt_image_view也无法显示图像。可以使用rosmsg命令查看图像话题的消息格式,使用rostopic命令查看话题是否有数据流。 4. 没有安装ROS图像工具包:如果没有安装ROS的图像工具包,包括ros-image-common和ros-image-view,rqt_image_view也无法正常工作,因此需要安装这些工具包。 5. 显示器不兼容:有时候rqt_image_view需要使用特定的显示器来显示图像,如果使用的显示器不兼容,也会导致rqt_image_view无法显示图像。 以上是rqt_image_view不显示画面的可能原因,需要根据具体情况进行排查。 ### 回答3: rqt_image_view是ROS中一个常用的图像查看工具,可以用来查看相机或其他传感器发布的图像信息。如果rqt_image_view不显示画面,可能有以下的原因: 1. 没有正确设置ROS环境变量 rqt_image_view需要ROS环境变量的支持,如果没有正确设置环境变量,可能会出现显示不正常的情况。可以通过在终端输入“printenv | grep ROS”来检查环境变量是否正确设置,如果没有显示任何内容,说明环境变量没有设置或设置不正确,需要进行相应的设置。 2. 没有发布相应的图像消息 rqt_image_view需要相应的图像消息来进行显示,如果没有发布相应的图像消息,就会出现显示不正常的情况。可以通过使用image_publish工具发布相应的图像消息,或者通过查看相应话题的状态来确认是否有发布消息。 3. 图像格式不正确或者大小不符合要求 rqt_image_view只支持特定的图像格式和大小,如果发布的图像格式不正确或者大小不符合要求,也会出现显示不正常的情况。可以通过查看相应话题的消息类型和大小来确认是否符合要求。 4. 没有正确安装rqt_image_view 如果没有正确安装rqt_image_view,也会出现显示不正常的情况。可以通过重新安装rqt_image_view来解决问题。 5. 其他原因 如果以上方法都无法解决问题,可能是其他原因导致的。可以通过查看ROS系统日志或者调试信息来找到原因并解决问题。 总之,rqt_image_view不显示画面可能有很多原因,需要进行相应的排查和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桦树无泪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值