python - 在灰度图像的像素中查找“黑色级别”
问题描述
我正在尝试计算一个像素的黑色百分比。例如,假设我有一个 75% 黑色的像素,所以是灰色的。我有 RGBA 值,那么如何获得黑色级别?
我已经完成了获取每个像素并将其替换为新的 RGBA 值,并尝试使用一些 RGBA 逻辑无济于事。
#Gradient Testing here
from PIL import Image
picture = Image.open("img1.png")
img = Image.open('img1.png').convert('LA')
img.save('greyscale.png')
# Get the size of the image
width, height = picture.size
# Process every pixel
for x in range(width):
for y in range(height):
#Code I need here
r1, g1, b1, alpha = picture.getpixel( (x,y) )
r,g,b = 120, 140, 99
greylvl = 1 - (alpha(r1 + g1 + b1) / 765) #Code I tried
我想得到一个新变量,它给我一个值,比如 0.75,它代表 0.75% 的黑色像素。
解决方案
我不太确定您要转换为的“LA”格式是什么;我会尝试“L”。
试试这个代码:(确保你使用的是 Python 3。)
from PIL import Image
picture = Image.open('img1.png').convert('L')
width, height = picture.size
for x in range(width):
for y in range(height):
value = picture.getpixel( (x, y) )
black_level = 1 - value / 255
print('Level of black at ({}, {}): {} %'.format(x, y, black_level * 100))
这是你要找的吗?
推荐阅读
- python - OpenCV Python - 将一个图像放在另一个图像之上
- node.js - Cheerio 无法获得所需的数据
- javascript - 按对象键对对象数组进行排序
- sql-server - Simplify multiple joins
- python - Python Custom Function in Statsmodels formula
- swift - Randomly select an array from group of "enabled" arrays
- javascript - Plotly 颜色不改变 Javascript
- php - 如何将两张横向图片堆叠在一起,侧面有一张纵向图片?
- regular-language - infinite regular language and finite regular language proof
- apache-spark - 如何找到 spark 结构化流应用程序的使用者组 ID?