2024-04-24 07:35:20 发布
网友
我有一个像这样背景嘈杂的图像(放大,每个方块是一个像素)。我正在尝试使黑色背景正常化,以便可以完全替换颜色。在
这就是我的想法(psuedo代码):
for pixel in image: if is_similar(pixel, (0, 0, 0), threshold): pixel = (0, 0, 0)
什么样的函数可以让我比较两个颜色值在某个阈值内匹配?在
最后我使用了this answer中的感知亮度公式。它工作得很好。在
THRESHOLD = 18 def luminance(pixel): return (0.299 * pixel[0] + 0.587 * pixel[1] + 0.114 * pixel[2]) def is_similar(pixel_a, pixel_b, threshold): return abs(luminance(pixel_a) - luminance(pixel_b)) < threshold width, height = img.size pixels = img.load() for x in range(width): for y in range(height): if is_similar(pixels[x, y], (0, 0, 0), THRESHOLD): pixels[x, y] = (0, 0, 0)
最后我使用了this answer中的感知亮度公式。它工作得很好。在
相关问题 更多 >
编程相关推荐