Study Log: 尝试在原代码的基础上调用yolov5+deepsort
- 先找到返回目标框的位置、class和置信度
主要修改getDetectedInfo 从L43开始
在tkinter中显示Numpy数组(aNdarray)图像
[参考此文] (https://www.thinbug.com/q/53308708)
- from PIL import ImageTk, Image
- 把数组转换为Pillow对象
- 把Pillow对象转换为TKimage
PIL_Image = Image.fromarray(np.unit8(aNdarray))
tkImage = ImageTK.PhotoImage(Image = PIL_Image)
debug出现 torch\serialization.py No module named 'models'
- 2022-03-13
跟踪了好久不知道什么原因,本以为自己的问题是很小众的,难以找到解答。结果一查,发现这里有解答。
Traceback (most recent call last):
...
File "...\Anaconda3\envs\pytorch\lib\site-packages\torch\serialization.py", line 584, in load
return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
File "...\Anaconda3\envs\pytorch\lib\site-packages\torch\serialization.py", line 842, in _load
result = unpickler.load()
ModuleNotFoundError: No module named 'models'
原因分析如下. serialization.py 这个文件从字面意思上理解就是序列化和反序列化了.
由于python是解释性语言, 序列化的文件里面保存的 “命名空间” 是按照yolov5的根目录开始的.
反解析的时候根目录的起始点不同了,导致了找不到models
sys.path 就是为了解决这种目录错乱引起的问题而设.
关于sys.path 我就不详细解释了, 网上的说明很多… 这个很重要.
尤其是在规范化的项目下面. 这个很重要.
出现重复画框的问题
-
用matplotlib看了一下,这个框是画在了检测结果上,从(L43)
result = detector.feedCap(frame, func_status)出来的时候就有多重框了。- 设置断点运行了n次以后再停下来
-
I found that the frames shown look alike.
-
I open the demo.py and found
capture.read()is in the loop body. -
I put
ref, frame = capture.read()into the loop body and then it can work.
浙公网安备 33010602011771号