1
스케치로부터 래스터 좌표PIL로 이미지를 플로팅하는 더 빠른 방법은 무엇입니까? I는 (X, Y)의 세트가
x = [167, 109, 80, 69, 58, 31]
y = [140, 194, 227, 232, 229, 229]
I는 그 스케치를 재생성 및 이미지로 저장할. 순간 나는이 같은 PIL의 선 그리기 기능을 사용하고 있습니다 : 그것을 할 수있는 빠른 방법이 있는지
from PIL import Image, ImageDraw
img = [[1, 1]]
im = Image.new('L', (256, 256), 255)
imgdata = np.array(img[0][1])*256 + np.array(img[0][1])
draw = ImageDraw.Draw(im)
for i in range(len(x)-1):
draw.line((x[i],y[i], x[i+1], y[i+1]),fill=0,width=2)
im.save('test.png')
내가 궁금합니다. (x, y) 점은 그리기 순서이므로 Image.putdata()
을 사용하면 도움이 될까요?
'Image.putdata()'는 다른 방법으로 픽셀 데이터를 만든 다음 Image 객체에 채우기를 요구합니다. 당신은 그것을 할 수있는 기존의 모듈을 찾을 수 있습니다 (선을 그리십시오). PIL로 가능한 가장 빠른 방법입니다. – martineau
그러나 [[ImageDraw.line()'] (http://pillow.readthedocs.io/en/4.3.x/reference/ImageDraw.html#PIL.ImageDraw.PIL.ImageDraw.ImageDraw.line)이 적용됩니다. _all_ 하나의 호출에서의 좌표이므로'for' 루프를 제거하고 적어도 약간의 속도 향상을 얻을 수 있습니다. – martineau
'for' 루프를 없애고 하나의'draw.line (* zip (x, y), fill = 0, width = 2)'호출을 사용해보십시오. – martineau