Tôi cần phải chuyển đổi hàng loạt hình ảnh được vẽ thành màu trắng trên các chữ nền màu đen thành hình ảnh có màu trắng và đen được đảo ngược (dưới dạng âm). Làm thế nào tôi có thể đạt được điều này bằng cách sử dụng PIL?Làm thế nào để đảo ngược màu sắc của hình ảnh với PIL (Python-Imaging)?
30
A
Trả lời
47
Hãy thử như sau từ các tài liệu: http://effbot.org/imagingbook/imageops.htm
from PIL import Image
import PIL.ImageOps
image = Image.open('your_image.png')
inverted_image = PIL.ImageOps.invert(image)
inverted_image.save('new_name.png')
Lưu ý: "Các module ImageOps chứa một số hoạt động 'làm sẵn' xử lý hình ảnh Module này có phần thực nghiệm, và hầu hết các nhà khai thác chỉ làm việc trên. Hình ảnh L và RGB. "
15
Nếu hình ảnh là RGBA trong suốt này sẽ thất bại ... Điều này sẽ làm việc mặc dù:
from PIL import Image
import PIL.ImageOps
image = Image.open('your_image.png')
if image.mode == 'RGBA':
r,g,b,a = image.split()
rgb_image = Image.merge('RGB', (r,g,b))
inverted_image = PIL.ImageOps.invert(rgb_image)
r2,g2,b2 = inverted_image.split()
final_transparent_image = Image.merge('RGBA', (r2,g2,b2,a))
final_transparent_image.save('new_file.png')
else:
inverted_image = PIL.ImageOps.invert(image)
inverted_image.save('new_name.png')
8
Đối với bất cứ ai làm việc với một hình ảnh trong chế độ "1" (tức là, pixel 1-bit, màu đen và trắng , được lưu trữ với một pixel mỗi byte - see docs), bạn cần phải chuyển đổi nó thành chế độ "L" trước khi gọi PIL.ImageOps.invert
.
Như vậy:
im = im.convert('L')
im = ImageOps.invert(im)
im = im.convert('1')
Các vấn đề liên quan
- 1. Đảo ngược màu của hình ảnh bằng CSS hoặc JavaScript
- 2. Đảo ngược màu sắc có thể vẽ được của Android
- 3. Đảo ngược màu bitmap
- 4. Python: nghịch đảo hình ảnh với nền trong suốt (PIL, Gimp, ...)
- 5. Làm thế nào để đảo ngược String.fromCharCode?
- 6. Làm thế nào để giữ cho android không đảo ngược hình ảnh từ camera mặt trước?
- 7. Làm thế nào để đảo ngược hình ảnh động trên BackStack?
- 8. Sửa màu sắc của hình ảnh trong ruby
- 9. Làm thế nào để đảo ngược bit của một byte?
- 10. Điều khiển hình ảnh đảo ngược màu của nó tùy thuộc vào chủ đề
- 11. hình ảnh thay đổi kích thước bằng PIL thay đổi màu sắc mạnh
- 12. MathJax: Làm thế nào để thay đổi màu sắc mặc định cho đầu ra svg
- 13. Sử dụng PIL để lấp đầy không gian hình ảnh trống với màu sắc gần đó (aka inpainting)
- 14. Làm thế nào để có được một hình ảnh màu sắc trong iPhone sdk
- 15. Làm thế nào để sử dụng cv :: remap với lưới phía trước, không đảo ngược lưới, để hình ảnh dọc?
- 16. làm thế nào để điền vào màu sắc trong hình ảnh trong khu vực cụ thể?
- 17. thay thế màu sắc trong một hình ảnh trong C#
- 18. Làm thế nào để dừng (để đảo ngược) một hoạt hình fabricjs
- 19. Làm cách nào để đảo ngược màu màn hình trên máy Mac
- 20. làm thế nào để làm cho hình ảnh màu sắc sang màu đen và trắng trong Android
- 21. Làm thế nào để thay đổi màu sắc của hud nơi màu xám
- 22. cách đảo ngược hình ảnh bản đồ màu thành giá trị vô hướng
- 23. Kết hợp nền với hình ảnh trong suốt trong PIL
- 24. WPF: Làm thế nào để animate thay đổi màu sắc?
- 25. Điều chỉnh phơi sáng/cân bằng trắng của một hình ảnh để phù hợp với hình ảnh khác (với PIL?)
- 26. Làm thế nào để đảo ngược đầu ra sed?
- 27. Làm thế nào để xây dựng một đối tượng hình ảnh trong PIL/Python
- 28. Hình ảnh phác thảo sử dụng python/PIL
- 29. Làm cách nào để đảo ngược mảng của tôi?
- 30. Làm thế nào để đảo ngược áp dụng một stash?
Oh, có vẻ như tôi đã bỏ lỡ mô-đun đó. Cảm ơn. – bialix