【问题标题】:Python + OpenCV, change brightness/darkness outside a sliding window?Python + OpenCV,改变滑动窗口外的亮度/暗度?
【发布时间】:2016-07-21 12:29:34
【问题描述】:

我正在使用 Python 和 OpenCV,而且我都是这两个方面的新手。 对于我的项目,我需要在图片上移动一个滑动窗口;对于窗口的每个位置,窗口外的区域必须比窗口内的区域显示得更暗。

这是我的代码中负责图片和窗口可视化的部分(滑动窗口的有效位置在其他地方计算)

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)

窗口已创建,它在有效位置上滑动,因此该部分运行良好。但是我完全不知道如何让窗外的画面看起来更暗。

有什么建议吗? 提前致谢。

编辑:我忘了添加一个重要的细节:我的输入图像总是黑白的(甚至不是灰度,只是黑白像素)。也许这样更容易改变亮度/暗度?

【问题讨论】:

    标签: python opencv brightness


    【解决方案1】:

    一般情况下,您可以保留窗口内的内容并降低整个图像的强度。然后用原始内容替换窗口内的区域。这个技巧应该奏效。这部分代码可能看起来像

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 1970-01-01
      • 2017-01-11
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多