From 526aaedf94e5295d70fd7359880b1d003092a502 Mon Sep 17 00:00:00 2001 From: Yu Zhang Date: Thu, 2 Dec 2021 17:51:19 +0800 Subject: [PATCH] Avoid inplace modifying`imgs` in `LoadStreams` (#5850) When OpenCV retrieving image fail, original code would modify source images **inplace**, which may result in plotting bounding boxes on a black image. That is, before inference, source image `im0s[i]` is OK, but after inference before `Process predictions`, `im0s[i]` may have been changed. --- utils/datasets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/datasets.py b/utils/datasets.py index ac81603c7d34..f3abfb1f6f90 100755 --- a/utils/datasets.py +++ b/utils/datasets.py @@ -337,7 +337,7 @@ def update(self, i, cap, stream): self.imgs[i] = im else: LOGGER.warning('WARNING: Video stream unresponsive, please check your IP camera connection.') - self.imgs[i] *= 0 + self.imgs[i] = np.zeros_like(self.imgs[i]) cap.open(stream) # re-open stream if signal was lost time.sleep(1 / self.fps[i]) # wait time