Python + OpenCV,在滑动window外改变brightness/darkness?
Python + OpenCV, change brightness/darkness outside a sliding window?
我正在使用 Python 和 OpenCV,我在这两个方面都是新手。
对于我的项目,我需要在图片上移动滑动 window;对于 window 的每个位置,window 之外的区域必须比 window 内的区域显示得更暗。
这是我的代码中处理图片和 window 可视化的部分(滑动 window 的有效位置在其他地方计算)
for (x, y, window) in valid_positions:
if window.shape[0] != winH or window.shape[1] != winW:
continue
# Put here stuff to process the window content
# i.e apply a classifier
clone = image.copy()
cv2.rectangle(clone, (x, y), (x + winW, y + winH), (0, 255, 0), 2)
cv2.imshow("Window", clone)
cv2.waitKey(1)
time.sleep(0.025)
window 已创建并在有效位置滑动,因此该部分运行良好。但是我完全不知道如何使 window 之外的图片看起来更暗。
有什么建议吗?
提前致谢。
编辑:我忘了添加一个重要的细节:我的输入图像总是黑白的(甚至不是灰度,只有黑白像素)。也许这样更容易改变 brightness/darkness?
一般来说,可以保留window里面的内容,降低整张图片的亮度。然后用原来的内容替换window里面的区域。这个技巧应该有效。这部分代码可能看起来像
clone = image.copy()
windowArea = clone[y:y + winH, x:x + winW].copy()
clone = np.floor(clone * 0.5).astype('uint8') # 0.5 can be adjusted
clone[y:y + winH, x:x + winW] = windowArea
cv2.rectangle(clone, (x, y), (x + winW, y + winH), (0, 255, 0), 2)
我正在使用 Python 和 OpenCV,我在这两个方面都是新手。 对于我的项目,我需要在图片上移动滑动 window;对于 window 的每个位置,window 之外的区域必须比 window 内的区域显示得更暗。
这是我的代码中处理图片和 window 可视化的部分(滑动 window 的有效位置在其他地方计算)
for (x, y, window) in valid_positions:
if window.shape[0] != winH or window.shape[1] != winW:
continue
# Put here stuff to process the window content
# i.e apply a classifier
clone = image.copy()
cv2.rectangle(clone, (x, y), (x + winW, y + winH), (0, 255, 0), 2)
cv2.imshow("Window", clone)
cv2.waitKey(1)
time.sleep(0.025)
window 已创建并在有效位置滑动,因此该部分运行良好。但是我完全不知道如何使 window 之外的图片看起来更暗。
有什么建议吗? 提前致谢。
编辑:我忘了添加一个重要的细节:我的输入图像总是黑白的(甚至不是灰度,只有黑白像素)。也许这样更容易改变 brightness/darkness?
一般来说,可以保留window里面的内容,降低整张图片的亮度。然后用原来的内容替换window里面的区域。这个技巧应该有效。这部分代码可能看起来像
clone = image.copy()
windowArea = clone[y:y + winH, x:x + winW].copy()
clone = np.floor(clone * 0.5).astype('uint8') # 0.5 can be adjusted
clone[y:y + winH, x:x + winW] = windowArea
cv2.rectangle(clone, (x, y), (x + winW, y + winH), (0, 255, 0), 2)