Vì vậy, đối với dự án này tôi đang làm việc, tôi có 2 ảnh. Hai bức ảnh này cần phải được ghép lại với nhau, một ảnh ở trên cùng và một ở phía dưới, và sau đó bạn sẽ có thể thấy toàn bộ bức ảnh. Bất kỳ ý tưởng về những mô-đun tôi nên sử dụng để làm điều này?Ghép ảnh lại với nhau
Trả lời
python imaging library sẽ ăn nhiệm vụ đó cho bữa sáng.
Xem phần tutorial cụ thể là phần "Cắt, dán và sáp nhập hình ảnh" cho một số trợ giúp có liên quan.
Đối với phác thảo thô, tải cả hình ảnh với Image.open
, tìm hiểu làm thế nào lớn hình ảnh đầu ra sẽ bằng size
thuộc tính và một số Bên cạnh đó, tạo hình ảnh đầu ra với Image.new
và sau đó sử dụng phương pháp paste
về quá khứ hai hình ảnh gốc in.
Bạn có thể xây dựng một chút về điều đó không? Giống như những chức năng tôi sẽ sử dụng? Có lời khuyên nào không? –
Tôi đã thêm một số gợi ý cho câu trả lời. Thông thường tôi sẽ viết một chương trình demo nhưng nó đã được một tuần dài và một đồ uống có cồn tốt vẫy gọi ;-) –
Tuyệt vời! Đó là hoàn hảo. Cảm ơn sự giúp đỡ của bạn –
Đây là một số mã từ Jan Erik Giải thích tầm nhìn máy tính bằng sách python; bạn có thể chỉnh sửa nó để phù hợp với nhu cầu hàng đầu/dưới cùng của bạn
def stitchImages(im1,im2):
'''Takes 2 PIL Images and returns a new image that
appends the two images side-by-side. '''
# select the image with the fewest rows and fill in enough empty rows
rows1 = im1.shape[0]
rows2 = im2.shape[0]
if rows1 < rows2:
im1 = concatenate((im1,zeros((rows2-rows1,im1.shape[1]))), axis=0)
elif rows1 > rows2:
im2 = concatenate((im2,zeros((rows1-rows2,im2.shape[1]))), axis=0)
# if none of these cases they are equal, no filling needed.
return concatenate((im1,im2), axis=1)
Đây là mẫu mã sử dụng Pillow. Hy vọng nó sẽ giúp một ai đó!
from PIL import Image
def merge_images(file1, file2):
"""Merge two images into one, displayed side by side
:param file1: path to first image file
:param file2: path to second image file
:return: the merged Image object
"""
image1 = Image.open(file1)
image2 = Image.open(file2)
(width1, height1) = image1.size
(width2, height2) = image2.size
result_width = width1 + width2
result_height = max(height1, height2)
result = Image.new('RGB', (result_width, result_height))
result.paste(im=image1, box=(0, 0))
result.paste(im=image2, box=(width1, 0))
return result
mã này hoạt động, tôi vừa thử nghiệm nó ngay bây giờ. Bạn có thể lưu tệp bằng cách sử dụng mã này -> merged = merge_images (file1, file2) merged.save (file_dest) – fedmich
Câu hỏi đặt ra cho một hình ảnh trên đầu trang khác, chỉ là lật các hành động trên result_width với result_height – Ywapom
- 1. Android Bluetooth không ghép nối với nhau
- 2. Android: Ghép các tệp nhiều phần lại với nhau để tạo một tệp đơn
- 3. Gọi lại ghép kênh
- 4. Sử dụng FFMPEG để ghép hai tệp MTS với nhau
- 5. Ghép mẫu hình ảnh (nếu tồn tại tọa độ trả lại)
- 6. ghép hình ảnh kính hiển vi của vi mạch
- 7. Làm cách nào để ghép hình ảnh với chồng chéo rất ít?
- 8. Ghép số nhị phân có độ dài khác nhau
- 9. Cách ghép với tortoisehg
- 10. Sự khác nhau giữa HTTP pipeling và ghép kênh HTTP với SPDY
- 11. Ảnh ghép/ảnh toàn cảnh API/DLL/Thư viện bất kỳ ai?
- 12. Ghép nối các video clip với nhau thành một video duy nhất như Vine
- 13. Liên kết hai hình ảnh lại với nhau để được kéo
- 14. CouchDB: Tài liệu đơn lẻ và tài liệu "ghép nối" với nhau
- 15. Cuộn hai UITableViews lại với nhau
- 16. Lồng ghép Prolog với C#
- 17. Ghép nối các chuỗi với
- 18. Ghép nối chuỗi Java với + toán tử
- 19. Node.js: Ghép lại vào máy chủ nút từ xa
- 20. Ghép nối một chuỗi với các khả năng khác nhau bằng grep
- 21. Cách kết hợp/ghép 2 hình ảnh thành 1
- 22. Làm cách nào để tôi có thể lồng ghép Hoạt ảnh lõi cho các Lớp khác nhau?
- 23. Khởi động lại/Tự động ghép Mongodb trong Sản xuất
- 24. Làm cách nào để ghép các biểu tượng vào một hình ảnh với ImageMagick?
- 25. Lặp lại bảng lua bằng c với chức năng ghép nối tùy chỉnh
- 26. Tôi cần trợ giúp với Hoạt ảnh gọi lại (iPhone)
- 27. Ghép nối chuỗi với dấu cách
- 28. Ghép nối CoreBluetooth với Lego NXT
- 29. Toán tử ghép nối (+) so với concat()
- 30. Ghép nối jquery .text() với
Họ có trùng lặp như ảnh toàn cảnh không? Hay bạn chỉ cần tạo một hình ảnh lớn hơn bằng cách đặt hai hình ảnh nhỏ hơn bên cạnh nhau? – Leopd