比如:
直方圖:
代碼:
這段代碼是一個(gè)用于判斷圖像亮度是否過(guò)暗的函數(shù)is_dark,并對(duì)輸入的圖像進(jìn)行可視化直方圖展示。
首先,通過(guò)import語(yǔ)句導(dǎo)入了cv2和matplotlib.pyplot模塊,用于圖像處理和可視化。
is_dark函數(shù)的作用是判斷輸入圖像的平均亮度是否低于設(shè)定的閾值。函數(shù)接受兩個(gè)參數(shù):image_path表示圖像文件的路徑,threshold表示亮度閾值,默認(rèn)為100。函數(shù)內(nèi)部的步驟如下:
使用cv2.imread函數(shù)讀取圖像文件,將圖像存儲(chǔ)在變量img中。
使用cv2.cvtColor函數(shù)將圖像轉(zhuǎn)換為灰度圖像,存儲(chǔ)在變量gray中。
使用cv2.mean函數(shù)計(jì)算灰度圖像的平均亮度,存儲(chǔ)在變量average_brightness中。
判斷average_brightness是否低于設(shè)定的閾值threshold,如果是,則返回True表示圖像光線過(guò)暗;否則返回False表示圖像光線正常。
接下來(lái)是測(cè)試代碼部分:
定義了一個(gè)圖像文件的路徑image_path,這里是一個(gè)示例路徑,請(qǐng)根據(jù)實(shí)際情況修改。
調(diào)用is_dark函數(shù)判斷圖像光線是否過(guò)暗,如果返回True,說(shuō)明圖像光線過(guò)暗,輸出"圖片光線過(guò)暗";如果返回False,說(shuō)明圖像光線正常,輸出"圖片光線正常"。
最后,使用cv2.imread函數(shù)再次讀取圖像文件,將圖像存儲(chǔ)在變量img中。然后使用plt.hist函數(shù)繪制灰度圖像的直方圖,并通過(guò)plt.xlabel和plt.ylabel設(shè)置橫軸和縱軸的標(biāo)簽。最后使用plt.show顯示直方圖。這樣可以直觀地查看圖像的亮度分布情況。
import cv2
import matplotlib.pyplot as plt
def is_dark(image_path, threshold=100):
# 讀取圖像
img = cv2.imread(image_path)
# 轉(zhuǎn)換為灰度圖像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 計(jì)算灰度圖像的平均亮度
average_brightness = cv2.mean(gray)[0]
# 判斷亮度是否低于閾值
if average_brightness < threshold:
return True
else:
return False
# 測(cè)試代碼
image_path = r'E:\facedata\img_data_new\10001normal_face\10001normal_face_0.5893__041430.jpg'
if is_dark(image_path):
print("圖片光線過(guò)暗")
else:
print("圖片光線正常")
# 可視化直方圖
img = cv2.imread(image_path)
plt.hist(cv2.cvtColor(img, cv2.COLOR_BGR2GRAY).ravel(), bins=256, color='gray')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')
plt.show()
問(wèn)題:為什么將閾值設(shè)為100,ref是什么?是自己拍腦門的么?
這是一個(gè)簡(jiǎn)單demo,肯定拍腦門啊。這是我清理圖片數(shù)據(jù)用的,實(shí)際用的時(shí)候把平均數(shù)值返回并給到圖片前綴,圖片按名稱排序后方便我清洗那些太暗的圖片。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-560539.html
ref: https://blog.csdn.net/x1131230123/article/details/131687592
大佬的blog,前同事的文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-560539.html
到了這里,關(guān)于【圖像處理】Python判斷一張圖像是否亮度過(guò)低的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!