假设我有一个这样的 PNG 图像: https ://www.box.com/s/dc4dut3yw1vhagm4y9ks
我想增加红点的大小,这意味着它们也必须填充正方形的邻居。如下所示:
www
-> rrr
wrw
-> rrr
www
-> rrr
假设我有一个这样的 PNG 图像: https ://www.box.com/s/dc4dut3yw1vhagm4y9ks
我想增加红点的大小,这意味着它们也必须填充正方形的邻居。如下所示:
www
-> rrr
wrw
-> rrr
www
-> rrr
我很确定这可以进一步优化......基本上它会加载图像两次,读取 im1 和 draw1,如果在 [x+-1, y+-1] 范围内的 draw2 中发现一个红点被更改。最终,由 draw2 制作的 im2 被保存。
#!/usr/bin/env python
import Image
im1 = Image.open("hil0.png")
im2 = Image.open("hil0.png")
w, h = im1.size
draw1 = im1.load()
draw2 = im2.load()
for x in range(w):
for y in range(h):
if draw1[x,y] == (255,0,0):
for dx in [-1,0,1]:
for dy in [-1,0,1]:
nx = x+dx
ny = y+dy
# print nx, ny
if nx>=0 and ny>=0 and nx<w and ny<h:
draw2[ nx, ny ] = (255,0,0)
# im2.show()
im2.save("hil1.png")