hdu 1874

畅通工程续

#include<bits/stdc++.h>
#define MAX 1000000
int maps[202][202];
int M,N;
int visited[202],lowcost[202];
void init()
{
	int i,h;
	int x,y,z;
	
	for(i=0;i<N;i++)
		for(h=0;h<N;h++)
			maps[i][h]=MAX;
 
	for(i=0;i<M;i++)
	{
		scanf("%d%d%d",&x,&y,&z);
		if(maps[x][y]>z)
			maps[x][y]=maps[y][x]=z;
	}
}
void dijkstral(int begin,int end)
{
	int i,min,h,temp;
	memset(visited,0,sizeof(visited));
	memset(lowcost,0,sizeof(lowcost));
	for(i=0;i<N;i++)
		lowcost[i]=maps[begin][i];
	visited[begin]=1;
 
	while(1)
	{
		min = MAX;
		temp = begin;
		for(i=0;i<N;i++)
		{
			if(!visited[i]&&min>lowcost[i])
			{
				min=lowcost[i];temp=i;
			}
		}
		
		if(temp==begin)break;
		visited[temp]=1;
		for(h=0;h<N;h++)
		{
			if(!visited[h])
			if(maps[temp][h]+min<lowcost[h])
				lowcost[h]=maps[temp][h]+min;
		}
	}
}
int main()
{
	int begin,end;
	while(scanf("%d%d",&N,&M))
	{
		init();
		scanf("%d%d",&begin,&end);
		if(begin==end)
			printf("0\n");
		else
		{
			dijkstral(begin,end);
			if(visited[end])
				printf("%d\n",lowcost[end]);
			else
				printf("-1\n");
		}
	}
	return 0;
}
在机器人操作系统(ROS)中,机器视觉是机器人感知和理解周围环境的关键技术。robot_vision功能包专注于这一领域,集成了多种视觉处理技术,包括摄像头标定、OpenCV库应用、人脸识别、物体跟踪、二维码识别和物体识别,极大地拓展了ROS在视觉应用方面的能力。 摄像头标定:作为机器视觉的基础,摄像头标定用于消除镜头畸变并获取相机的内参和外参。在ROS中,camera_calibration包提供了友好的用户界面和算法,帮助计算相机参数矩阵,为后续的图像校正和三维重建提供支持。 OpenCV:OpenCV是一个广泛使用的开源计算机视觉库,在ROS中扮演着重要角色。robot_vision功能包可能包含OpenCV的示例代码和节点,涵盖图像处理、特征检测、模板匹配和图像分割等功能,这些功能对机器人视觉系统至关重要。 人脸识别:ROS中的人脸识别结合了图像处理和机器学习技术。robot_vision可能集成了基于OpenCV的人脸检测算法,如Haar级联分类器或Adaboost方法,甚至可能包含深度学习模型(如FaceNet或SSD),帮助机器人实现人脸的识别和跟踪,提升人机交互能力。 物体跟踪:物体跟踪使机器人能够持续关注并追踪特定目标。在ROS中,通常通过卡尔曼滤波器、粒子滤波器或光流法实现。robot_vision功能包可能包含这些算法的实现,助力机器人完成动态目标跟踪任务。 二维码识别:二维码是一种高效的信息编码方式,常用于机器人定位和导航。ROS中的二维码包可用于读取和解析二维码,而robot_vision可能进一步封装了这一功能,使其更易于集成到机器人系统中。 物体识别:作为机器视觉的高级应用,物体识别通常涉及深度学习模型,如YOLO、SSD或Faster R-CNN。robot_vision功能包可能包含预训练的模型和对应的ROS节点,使机器人能够识别环境中的特
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值