python - 如何使用Python区分暗图像和亮图像?

标签 python opencv

如何使用Python区分暗图像和亮图像?我正在尝试根据图像的亮度来过滤图像。

最佳答案

一种方法是更改​​用于表示图像的颜色空间,然后通过适当 channel 的平均值对其进行排序(如评论中建议的那样)。例如,HSL 表示的“L channel ”很好地突出了图像上的亮度。使用 opencv 从 RGB(红绿蓝)到 HSL(色相饱和度亮度)的转换非常容易:

import cv2

font = cv2.FONT_HERSHEY_SIMPLEX

imagedark = cv2.imread('testdark.jpg')
hsldark  = cv2.cvtColor(imagedark, cv2.COLOR_BGR2HLS)
Lchanneld = hsldark[:,:,1]
lvalueld =cv2.mean(Lchanneld)[0]
cv2.putText(imagedark, str(lvalueld), (10,450), font, 3, (0, 255, 0), 2, cv2.LINE_AA)


image = cv2.imread('test.jpg')
hsl = cv2.cvtColor(image, cv2.COLOR_BGR2HLS)
Lchannel = hsl[:,:,1]
lvalue =cv2.mean(Lchannel)[0]
cv2.putText(image, str(lvalue), (10,450), font, 3, (0, 255, 0), 2, cv2.LINE_AA)

imagelight = cv2.imread('testbright.jpg')
hsllight  = cv2.cvtColor(imagelight, cv2.COLOR_BGR2HLS)
Lchannell = hsllight[:,:,1]
lvaluel =cv2.mean(Lchannell)[0]
cv2.putText(imagelight, str(lvaluel), (10,450), font, 3, (0, 255, 0), 2, cv2.LINE_AA)

cv2.imshow('bright',imagelight)
cv2.imshow('orgid',image)
cv2.imshow('dark',imagedark)

输出:

enter image description here enter image description here

enter image description here

关于python - 如何使用Python区分暗图像和亮图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59766704/

相关文章:

python - 如何在 Twisted 中对 FTP 命令进行排队?

python - 使用 PCA 计算原始数据集和转换后的数据集之间丢失的数据

带有变量的 Python SQL 语句,使用 psycopg2 库

python - 将 tkinter 图像嵌入到顶层

android - 使用 OpenCV4Android (java API) 保存 ORB 特征向量

opencv - 使用opencv过滤掉物体检测的误报

Python OpenCV 多处理适用于 MacOS 和 Windows,但不适用于 Ubuntu

Python-如何引发列表中多个项目的值错误

python - 如何使用 OpenCV 根据特定标准裁剪图像?

opencv - 如何在 OpenCV 中使用 Orbbec Astra 深度传感器?