簡體   English   中英

是否可以使用python中的opencv將圖像中的亮度調整為更暗?

[英]Is that possible to adjust the brightness to be more darkest in the image using opencv in python?

是否可以減少亮度區域,我想要如下結果在此處輸入圖片說明

這是我希望亮度區域成為的部分
在此處輸入圖片說明

您可以更改整個圖片的亮度,但我不確定如何制作它的一部分。 我認為這個鏈接可以幫助你。

  1. 確定圖像中的亮度區域。 我的解決方案是計算每列中的每個像素(通道值 > 100)並確定一個參考編號。 如果數字大於參考(我選擇了 55),我認為列接近明亮(255)。
  2. 第一步后,亮度區域清晰,因此只需裁剪該區域。
  3. 降低該區域的亮度。 有用的鏈接在這里可以降低亮度。
  4. 降低亮度后,只需將其替換為源圖像中的原始部分。

這是第一步和結果的解決方案。

import cv2

img=cv2.imread("/ur/source/image/bright.png")
height, width, channels = img.shape

thresh = [100,100,100]
white = [255,255,255]
white_counter = 0

for x in range(0,width):
    for y in range(0,height):
        channels_xy = img[y,x]
        if all(channels_xy >= thresh):    
            white_counter += 1

    if(white_counter>55):
        for k in range(0,height): 
            img[k,x] = white

    white_counter = 0

cv2.imshow('Result',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

結果:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM