2017-01-19 2 views
0

큰 이미지 안에 작은 이미지가 있는지 확인하기 위해 2 개의 이미지 (작은 이미지와 큰 이미지)를 비교하는 프로그램을 작성하고 싶습니다. 의도 한대로, [(0, 0), (0, 1), (1, 0), (1, 1)] : 그것은 인쇄Python 3.5 - 베개 - 픽셀 액자

big_image = [ 
    [1,2,3,4,5,6,7,8,9], 
    [10,11] 
] 

small_image = [ 
    [1,2], 
    [10,11] 
] 
big_result = [] 
def check(small_image, big_image): 
    for i in range(len(small_image)): 
     for j in range(len(small_image[i])): 
      if small_image[i][j] == big_image[i][j]: 
       result = (i,j) 
       big_result.append(result) 
    return(big_result) 

print(check(small_image, big_image)) 

: 화상이 배열에 비교 될 수 있음을 알고

난 다음 알고리즘을 작성했다.

그 후 필로 모듈을 설치하여 실제 이미지 2 개 (.bmp 형식)의 알고리즘을 테스트했습니다.

제 질문은 어떻게 이미지의 픽셀에 액세스 할 수 있으며 내 알고리즘을 테스트 할 수 있도록 image.width 및 image.height를 얻는 방법입니다.

필자는 공식 베개 튜토리얼 (http://pillow.readthedocs.io/en/3.1.x/handbook/tutorial.html)을 확인했지만, 돌아 다니며 이미지를 작성하고 자르기 만하면됩니다.

답변

0

다음과 같은 예와 같이 폭과 높이 찾아 width, height = im.size을 사용할 수 있습니다 : 당신은 이미지 크기에 대한 this

1

에 따라 더 많은 예를 찾을 수 있습니다

from PIL import Image 
im = Image.open("lena.bmp") 
width, height = im.size 
print(width, height) 

을 할 수있다 :

import PIL 
from PIL import Image 

img = Image.open('Imagename.jpg').convert('RGB') 
width, height = img.size 

픽셀에 액세스하려면 PIL에 .load()가 있습니다.

pixels = img.load() 
for x in range(width): 
    for y in range(height): 
     pixels[x, y] = (0, 100, 200) #an rgb value 
img.show()