-
-
Save namieluss/c3fcec0b11d28e5d479c441ece1e7429 to your computer and use it in GitHub Desktop.
| from PIL import Image | |
| img = Image.open("test_image.jpg") | |
| img = img.convert("RGB") | |
| datas = img.getdata() | |
| new_image_data = [] | |
| for item in datas: | |
| # change all white (also shades of whites) pixels to yellow | |
| if item[0] in list(range(190, 256)): | |
| new_image_data.append((255, 204, 100)) | |
| else: | |
| new_image_data.append(item) | |
| # update image data | |
| img.putdata(new_image_data) | |
| # save new image | |
| img.save("test_image_altered_background.jpg") | |
| # show image in preview | |
| img.show() |
hi, I'm struggling to get this to work. I assume that datas is a list of tuples and therefore item is a tuple and item[0] is the first item in that tuple. however, when I run this code, datas is a list of intergers so I get a type error because item is an int object and therefore not subscriptable. any help would be appriciated as I am new to PIL. thanks!
hi, I'm struggling to get this to work. I assume that datas is a list of tuples and therefore item is a tuple and item[0] is the first item in that tuple. however, when I run this code, datas is a list of intergers so I get a type error because item is an int object and therefore not subscriptable. any help would be appriciated as I am new to PIL. thanks!
sorry, shortly after creating this comment i fixed it. turns out on line 4 I was doing img.convert("RGB") not img=img.convert("RGB"). appologies!
@fschatbot Use MS paint's colour picker or use GIMP and guess the colour range. There is no definite method to determine the range.