Skip to content

polycopter/picmerj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

picmerj

a script that uses PIL to "merge" two pictures, creating a third

fairly rudimentary, but it can produce some interesting (to the author) images. it does a pixel-by-pixel comparison of the images, and chooses one of the input pixels to write to the output image, based on a commandline flag & maybe an r,g,b value

here is a code excerpt:

try :
    print( 'trying to open ' + sys.argv[1] )
    img = Image.open(sys.argv[1])
    print( 'trying to open ' + sys.argv[2] )
    img2 = Image.open(sys.argv[2])
except :
    print( 'failed!' )
    img_size = (1000, 1000)
    img = Image.new('RGB', img_size, white)
    img2 = Image.open('images/seven11.png')

img_pix = img.load()
(x_pixels, y_pixels) = img.size
img2_pix = img2.load()
(width, height) = img2.size
# try to prevent out-of-range errors 
# by using the smaller dimensions
if (width > x_pixels) : width = x_pixels
if (height > y_pixels) : height = y_pixels

try :
    target_red = int(sys.argv[4])
    target_green = int(sys.argv[5])
    target_blue = int(sys.argv[6])
except :
    target_red = 11
    target_green = 111
    target_blue = 255

if (sys.argv[3] == 'd') :
    combiner = darker
elif (sys.argv[3] == 'c') :
    combiner = closer
elif (sys.argv[3] == 'f') :
    combiner = further
elif (sys.argv[3] == 'a') :
    combiner = average
elif (sys.argv[3] == 'r') :
    combiner = redder
elif (sys.argv[3] == 'g') :
    combiner = greener
elif (sys.argv[3] == 'b') :
    combiner = bluer
elif (sys.argv[3] == 'lr') :
    combiner = less_red
elif (sys.argv[3] == 'lg') :
    combiner = less_green
elif (sys.argv[3] == 'lb') :
    combiner = less_blue
elif (sys.argv[3] == 'r2') :
    combiner = redder2
elif (sys.argv[3] == 'g2') :
    combiner = greener2
elif (sys.argv[3] == 'b2') :
    combiner = bluer2
elif (sys.argv[3] == 'bt') :
    combiner = bluer_than_threshold
elif (sys.argv[3] == 'bt2') :
    combiner = make_comparator(bluer2)
elif (sys.argv[3] == 'rb') :
    combiner = below
else :
    combiner = brighter
    
combine(img_pix, img2_pix, width, height, combiner)

try :
    #print sys.argv[1]
    left_part = sys.argv[1].split('/')[-1]
    left_part = left_part[:-4]
    right_part = sys.argv[2].split('/')[-1]
    right_part = right_part[:-4]
    newfile = 'newimages/' + left_part + '-' + right_part + '-' + sys.argv[3] + '.jpg'
    print( 'writing to ' + newfile )
    img.save(newfile)
except :
    print( 'writing to default.jpg' )
    img.save('default.jpg')

About

a script that uses PIL to "merge" two pictures, creating a third

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages