module 'tsp_solver' has no attribute 'solve_tsp_dynamic_programming'
时间: 2023-10-15 13:06:06 浏览: 208
TSP.rar_TSP dynamic_dynamic programming_tsp_货郎担问题
如果你在运行代码时出现了“module 'tsp_solver' has no attribute 'solve_tsp_dynamic_programming'”错误,可能是因为你使用的tsp_solver库版本过低。
在tsp_solver库的早期版本中,没有solve_tsp_dynamic_programming函数,而是使用solve_tsp函数进行TSP路径规划。因此,如果你使用的是旧版的tsp_solver库,可以将代码中的solve_tsp_dynamic_programming函数替换为solve_tsp函数,即可解决该错误,代码如下:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
import tsp_solver
# 读入图片
img = cv2.imread('example.jpg')
# 灰度化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray, 100, 200)
# 提取点
points = np.argwhere(edges > 0)
points = [tuple(point[::-1]) for point in points]
# TSP路径规划
path, _ = tsp_solver.solve_tsp(points)
# 画出TSP路径
for i in range(len(path) - 1):
cv2.line(img, points[path[i]], points[path[i+1]], (0, 0, 255), 2)
# 显示结果
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()
# 输出点的坐标
print(points)
```
如果你想使用solve_tsp_dynamic_programming函数,可以升级tsp_solver库到最新版本(0.3.1),或者手动安装最新版本,方法如下:
在命令行中输入以下命令:
```
pip install tsp-solver==0.3.1
```
等待安装完成后,再运行代码即可。
阅读全文