My initial thought was to find certain rules in the image dataset, but failed.
then I tried to divide the dataset into two groups based on the data position in the binary dataset, but the new image's size became a issue
the last idea also the solution: grouped the dataset into four types[(odd,odd),(even,even),(odd,even),(even,odd)]
>>> import Image,ImageDraw
>>> image=Image.open('/homeDownloads/cave.jpg')
>>> oo=Image.new(image.mode,(320,240))
>>> oe=Image.new(image.mode,(320,240))
>>> eo=Image.new(image.mode,(320,240))
>>> ee=Image.new(image.mode,(320,240))
>>> for y in range(0,480):
for x in range(0,640):
if x%2 == 0 and y%2 == 0:
ee.putpixel((x/2,y/2),image.getpixel((x,y)))
elif x%2 != 0 and y%2 == 0:
oe.putpixel(((x-1)/2,y/2),image.getpixel((x,y)))
elif x%2 ==0 and y%2 != 0:
eo.putpixel((x/2,(y-1)/2),image.getpixel((x,y)))
elif x%2 !=0 and y%2 != 0:
oo.putpixel(((x-1)/2,(y-1)/2),image.getpixel((x,y)))
>>> oo.save('oo.jpg')
>>> oe.save('oe.jpg')
>>> ee.save('ee.jpg')
>>> eo.save('eo.jpg')
the answer could be found in these image: 'evil'
then I tried to divide the dataset into two groups based on the data position in the binary dataset, but the new image's size became a issue
the last idea also the solution: grouped the dataset into four types[(odd,odd),(even,even),(odd,even),(even,odd)]
>>> import Image,ImageDraw
>>> image=Image.open('/homeDownloads/cave.jpg')
>>> oo=Image.new(image.mode,(320,240))
>>> oe=Image.new(image.mode,(320,240))
>>> eo=Image.new(image.mode,(320,240))
>>> ee=Image.new(image.mode,(320,240))
>>> for y in range(0,480):
for x in range(0,640):
if x%2 == 0 and y%2 == 0:
ee.putpixel((x/2,y/2),image.getpixel((x,y)))
elif x%2 != 0 and y%2 == 0:
oe.putpixel(((x-1)/2,y/2),image.getpixel((x,y)))
elif x%2 ==0 and y%2 != 0:
eo.putpixel((x/2,(y-1)/2),image.getpixel((x,y)))
elif x%2 !=0 and y%2 != 0:
oo.putpixel(((x-1)/2,(y-1)/2),image.getpixel((x,y)))
>>> oo.save('oo.jpg')
>>> oe.save('oe.jpg')
>>> ee.save('ee.jpg')
>>> eo.save('eo.jpg')
the answer could be found in these image: 'evil'