1、解决检测视频时,检测视频窗口报错问题。
解决AttributeError: 'FigureCanvasTkAgg' object has no attribute 'set_window_title'
这个错误表明你正在尝试使用 set_window_title 方法,但是你的 FigureCanvasTkAgg 对象没有这个方法。实际上,FigureCanvasTkAgg 是 matplotlib 用于在 Tkinter 图形界面上绘制图形的类,它并没有 set_window_title 这个方法。
如果你想设置 matplotlib 图形的标题,你应该使用 figure.suptitle() 或 ax.set_title(),取决于你想要设置的标题级别。
例如:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1, 2, 3])
fig.suptitle('这是标题') # 设置全图的标题
plt.show()
所以将fig.canvas.set_window_title('AP ' + class_name)改为
fig.suptitle('AP' + class_name)就行了
2、解决检测图片时,图片存在却报错找不到。
解决报错assert im0 is not None, f'Image Not Found {path}'
这里我接收图片的代码是:
dataset = LoadImages(source, img_size=imgsz, stride=stride, auto=pt, vid_stride=vid_stride)
直接进入LoadImages的代码中,找到下面代码:
p = str(Path(p).resolve())
将其改为下面代码:
p = str(Path(path))
然后重新运行即可