根据灰度动态范围将图像分类为褪色或未褪色?
Classify image as washed-out or not based on the grayscale dynamic range?
我正在尝试在 Python 的 OpenCV 上重新创建一个算法(来自这个 publication)来检测图像是否具有褪色效果。
论文陈述如下:
"Washed out images have a reduced dynamic range (in the gray-scale
image) with respect to images with natural colors. The compliance
score is simply calculated by rescaling the dynamic range of the
gray-scale image to [0;100]"
问题是,我不明白灰度动态范围是什么
这是关于计算灰度图像 [0-255] 的最小和最大像素值之间的差异并将该值重新缩放到 [0-100] 范围内吗?
我在 researchgate.com 上找到了论文。该论文讨论了面部图像必须通过的各种标准才能被标记为机器可读。因为与人类不同的机器无法在光照、遮挡、姿势差异等各种条件下理解面部图像。除了问题中的陈述之外,关于 ICAO 13 的信息不多。所以我认为它会是以下方式。
根据 ICAO 13 将灰度图像转换为动态范围可以通过以下方式完成:
我从 OpenCV 文档中获取了示例图像来说明这一点:
代码:
import cv2
import numpy as np
img = cv2.imread(path + 'wiki.jpg', 0)
print(((np.max(img) - np.min(img)) * 100) / 255)
cv2.imshow(path + 'normal.jpg', img)
equ = cv2.equalizeHist(img)
print(((np.max(equ) - np.min(equ)) * 100) / 255)
cv2.imshow(path + 'equalized.jpg', equ)
结果:
Dynamic range of original image : 36
Dynamic range of equalized image : 100
原图:
均衡图像:
现在因为你有 0 - 100 之间的值,你可以 select 一个阈值(比如 85)
并说具有 85 及以上值的图像被认为是机器可读的。如果该值低于阈值,则丢弃图像。
我正在尝试在 Python 的 OpenCV 上重新创建一个算法(来自这个 publication)来检测图像是否具有褪色效果。
论文陈述如下:
"Washed out images have a reduced dynamic range (in the gray-scale image) with respect to images with natural colors. The compliance score is simply calculated by rescaling the dynamic range of the gray-scale image to [0;100]"
问题是,我不明白灰度动态范围是什么
这是关于计算灰度图像 [0-255] 的最小和最大像素值之间的差异并将该值重新缩放到 [0-100] 范围内吗?
我在 researchgate.com 上找到了论文。该论文讨论了面部图像必须通过的各种标准才能被标记为机器可读。因为与人类不同的机器无法在光照、遮挡、姿势差异等各种条件下理解面部图像。除了问题中的陈述之外,关于 ICAO 13 的信息不多。所以我认为它会是以下方式。
根据 ICAO 13 将灰度图像转换为动态范围可以通过以下方式完成:
我从 OpenCV 文档中获取了示例图像来说明这一点:
代码:
import cv2
import numpy as np
img = cv2.imread(path + 'wiki.jpg', 0)
print(((np.max(img) - np.min(img)) * 100) / 255)
cv2.imshow(path + 'normal.jpg', img)
equ = cv2.equalizeHist(img)
print(((np.max(equ) - np.min(equ)) * 100) / 255)
cv2.imshow(path + 'equalized.jpg', equ)
结果:
Dynamic range of original image : 36
Dynamic range of equalized image : 100
原图:
均衡图像:
现在因为你有 0 - 100 之间的值,你可以 select 一个阈值(比如 85) 并说具有 85 及以上值的图像被认为是机器可读的。如果该值低于阈值,则丢弃图像。