我需要向量化PixelAccess对象上的标量乘法因子,我目前正在嵌套的for循环中执行该操作。
当前尝试
original = Image.open('img.png')
TEMP = '/tmp/tmp.jpg'
original.save(TEMP, quality=90)
temporary = Image.open(TEMP)
diff = ImageChops.difference(original, temporary)
d = diff.load()
SCALE = 10
# Part to vectorize
WIDTH, HEIGHT = diff.size
for x in range(WIDTH):
for y in range(HEIGHT):
d[x, y] = tuple(k * SCALE for k in d[x, y])
问题是,PixelAccess
对象的结构是由三个元素的元组组成的二维数组,这使得它很难适应NumPy框架。
1条答案
按热度按时间zujrkrfu1#
您可以使用内置的图像操作来访问单个像素:您可以通过使用比例系数
scale = 2 / SCALE
将图像与自身相加来实现SCALE
的比例缩放,请参阅文档:在我的电脑上,这是提供的示例图像的95倍快。
请注意,结果将被剪裁到255。