Công cụ cây đũa thần Python

Trong xử lý và thao tác hình ảnh, việc có bộ công cụ phù hợp có thể tạo ra sự khác biệt. Một công cụ mạnh mẽ như vậy là Magic Wand, một công cụ đa năng cho phép người dùng chọn và thao tác các vùng cụ thể của hình ảnh một cách chính xác. Nếu bạn là nhà phát triển Python và đang tìm kiếm một công cụ Magic Wand hiệu quả trong Python thì bạn thật may mắn. Trong bài đăng blog này, chúng tôi sẽ cung cấp cho bạn công cụ Magic Wand dễ sử dụng dành cho Python mà bạn có thể sử dụng để chọn một vùng màu cụ thể trên hình ảnh.

Công cụ chiếc đũa thần

Công cụ Magic Wand là một tính năng có trong phần mềm thiết kế đồ họa và chỉnh sửa hình ảnh, chẳng hạn như Adobe Photoshop. Nó hoạt động bằng cách chọn các pixel dựa trên độ tương tự màu sắc, đặc biệt hữu ích cho các tác vụ như xóa nền, tách biệt các đối tượng cụ thể hoặc áp dụng các điều chỉnh cho các vùng cụ thể của hình ảnh.

Công cụ Magic Wand cho Python

Aspose.Imaging for Python là một thư viện hình ảnh toàn diện dành cho Python, hỗ trợ các nhà phát triển tạo, chỉnh sửa và chuyển đổi hình ảnh một cách dễ dàng. Nó cung cấp một loạt các tính năng, bao gồm xử lý hình ảnh, chuyển đổi định dạng và khả năng vẽ. Công cụ Magic Wand là một trong những tính năng nổi bật của nó, cho phép người dùng thực hiện các lựa chọn phức tạp trong hình ảnh một cách dễ dàng.

Để cài đặt thư viện, hãy sử dụng lệnh pip sau.

> pip install aspose-imaging-python-net 

Sử dụng công cụ Magic Wand trong Python

Aspose.Imaging cung cấp lớp MagicWandTool cho phép bạn thực hiện các thao tác chọn, hợp, đảo ngược và trừ. Để chọn một vùng màu cụ thể trong ảnh, bạn cần cung cấp tọa độ X và Y bên trong vùng đó. Sau đó, công cụ Magic Wand sẽ so sánh tông màu và màu sắc của pixel đó với các pixel lân cận. Khi có sự tương đồng, công cụ sẽ thêm các pixel vào vùng kết quả và trả về mặt nạ cho vùng đã chọn. Sử dụng lớp MagicWandSettings, bạn có thể đặt các tùy chọn bổ sung như dung sai.

Vì vậy, hãy thực hiện các bước cần thiết để sử dụng công cụ Magic Wand trong Python.

  • Tải tệp hình ảnh dưới dạng RasterImage bằng phương thức Image.load.
  • Tạo một phiên bản của lớp MagicWandSettings và khởi tạo nó với tọa độ tham chiếu X và Y.
  • Đặt ngưỡng bằng thuộc tính MagicWandSettings.threshold.
  • Sử dụng lớp FeatheringSettings để đặt kích thước lông vũ.
  • Tạo mặt nạ mới bằng công cụ Magic Wand dựa trên tông màu và màu sắc của pixel bằng phương pháp MagicWandTool.select.
  • Sử dụng các chức năng Magic Wand mong muốn trên hình ảnh.
  • Gọi phương thức apply() để áp dụng mặt nạ.
  • Lưu hình ảnh bằng phương thức Image.save().

Xem chi tiết về các lớp và phương thức trong phần tài liệu tham khảo.

Đoạn mã sau đây cho thấy cách sử dụng công cụ Magic Wand trên hình ảnh bằng Python.

import os
from aspose.imaging import Image, RasterImage
from aspose.imaging.magicwand import *
from aspose.imaging.magicwand.imagemasks import *
import aspose.pycore as ascore

if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ

data_dir = templates_folder
out_path = os.path.join(data_dir, "result.png")

with ascore.as_of(Image.load(os.path.join(data_dir, "template.png")), RasterImage) as image:
	wand_set = MagicWandSettings(50, 50)
	wand_set.threshold = 69
	f_set = FeatheringSettings()
	f_set.size = 3
	
  	# Tạo mặt nạ mới bằng công cụ cây đũa thần dựa trên tông màu và màu sắc của pixel {845, 128}
	tool = MagicWandTool.select(image, MagicWandSettings(10, 10))
	
  	# Liên kết mặt nạ hiện có với mặt nạ được chỉ định được tạo bằng công cụ cây đũa thần
	tool = tool.union(MagicWandSettings(30, 30))
	
  	# Đảo ngược mặt nạ hiện có
	tool = tool.invert()
	
  	# Trừ mặt nạ được chỉ định được tạo bằng công cụ cây đũa thần khỏi mặt nạ hiện có 
	tool = tool.subtract(wand_set)
	
  	# Lần lượt trừ bốn mặt nạ hình chữ nhật được chỉ định khỏi mặt nạ hiện có
	tool = tool.subtract(RectangleMask(0, 0, 50, 50))
	
  	# Mặt nạ lông vũ với các cài đặt được chỉ định
	tool = tool.get_feathered(f_set)
	
  	# Áp dụng mặt nạ cho hình ảnh
	tool.apply()
  
  	# Lưu hình ảnh
	image.save(out_path)
	
if delete_output:
	os.remove(out_path)

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng công cụ Magic Wand mà không bị giới hạn về đánh giá.

Phần kết luận

Aspose.Imaging cung cấp công cụ Magic Wand mạnh mẽ và giàu tính năng cho Python, có thể nâng cao các dự án xử lý hình ảnh của bạn. Cho dù bạn đang xóa nền, cô lập đối tượng hay thực hiện các điều chỉnh có chủ đích, công cụ Magic Wand đều cung cấp giải pháp liền mạch và hiệu quả.

Aspose.Imaging đơn giản hóa các tác vụ phức tạp, biến nó thành tài sản quý giá cho các nhà phát triển cũng như những người đam mê. Nâng cấp bộ công cụ xử lý hình ảnh của bạn và để công cụ Magic Wand làm nên điều kỳ diệu cho các dự án sáng tạo của bạn! Bạn có thể khám phá thêm về thư viện xử lý ảnh Python bằng tài liệu. Ngoài ra, bạn có thể đăng câu hỏi của mình trên diễn đàn của chúng tôi.

Xem thêm