Vùng hình ảnh mặt nạ Python
Trong bài viết này, chúng ta sẽ tìm hiểu cách đảo ngược mặt nạ được tạo trên một hình ảnh trong OpenCV. Tạo mặt nạ là một kỹ thuật được sử dụng để làm nổi bật một đối tượng cụ thể khỏi hình ảnh. Nó có thể được định nghĩa là đặt một số pixel nhất định của hình ảnh thành một số giá trị null, chẳng hạn như 0 (màu đen) để chỉ phần đó của hình ảnh của chúng tôi được tô sáng khi giá trị pixel không phải là 0. Show Đảo ngược mặt nạ về cơ bản sẽ đảo ngược toàn bộ quá trình, nghĩa là các pixel trong phần được tô sáng trở thành 0 và tất cả các pixel khác vẫn khác không. Với mục đích này, chúng tôi thực hiện thao tác bit không trên từng pixel để chuyển đổi (đảo ngược) giá trị của nó Ví dụ, nếu chúng ta xem xét một mặt nạ [ 0 1 0 0 0 0 0 1 0 ] Bây giờ để đảo ngược mặt nạ này, chúng ta thực hiện thao tác bitwise not trên từng giá trị, nghĩa là 0 chuyển thành 1 và ngược lại [ 1 0 1 1 1 1 1 0 1 ] Để đảo ngược mặt nạ trong OpenCV, chúng tôi sử dụng cv2. hàm bitwise_not(), thực hiện thao tác bitwise không hoạt động trên các pixel riêng lẻ
Hình ảnh đã sử dụng Ảnh gốc ví dụ 1. Trong chương trình này, chúng tôi bắt đầu với việc đọc hình ảnh. Sau đó, chúng tôi tạo một hạt nhân của ma trận đơn vị (5 X 5) của kiểu dữ liệu 'int'. Bây giờ, chúng tôi chuyển đổi hình ảnh sang định dạng HSV vì tất cả các thao tác chỉ có thể được thực hiện ở định dạng HSV. Sau đó, chúng tôi thực hiện các kỹ thuật Xói mòn, Biến đổi và Giãn nở trên hình ảnh để tạo mặt nạ. Bây giờ, để đảo mặt nạ, chúng ta sử dụng phương thức bitwise_not của thư viện cv2 để lật các giá trị pixel (0 ->1 và 1 ->0). Cuối cùng, chúng tôi hiển thị hình ảnh mặt nạ đảo ngược này. Python3
[ 1 0 1 1 1 1 1 0 1 ]1 [ 1 0 1 1 1 1 1 0 1 ]2 [ 1 0 1 1 1 1 1 0 1 ]3 [ 1 0 1 1 1 1 1 0 1 ]4 [ 1 0 1 1 1 1 1 0 1 ]5 [ 1 0 1 1 1 1 1 0 1 ]6
[ 1 0 1 1 1 1 1 0 1 ]8 [ 1 0 1 1 1 1 1 0 1 ]9 [ 1 0 1 1 1 1 1 0 1 ]3 # Python program to explain 1# Python program to explain 2# Python program to explain 3# Python program to explain 2# Python program to explain 5
[ 1 0 1 1 1 1 1 0 1 ]3 # mask inversion on a b/w image. 0
[ 1 0 1 1 1 1 1 0 1 ]3 # mask inversion on a b/w image. 6# mask inversion on a b/w image. 7# Python program to explain 3# mask inversion on a b/w image. 9# Python program to explain 3 1 2
[ 1 0 1 1 1 1 1 0 1 ]3 # importing cv2 and numpy library 7
[ 1 0 1 1 1 1 1 0 1 ]3 import 0[ 1 0 1 1 1 1 1 0 1 ]3 import 2[ 1 0 1 1 1 1 1 0 1 ]6
[ 1 0 1 1 1 1 1 0 1 ]3 import 6
[ 1 0 1 1 1 1 1 0 1 ]3 import 9[ 1 0 1 1 1 1 1 0 1 ]3 import 2[ 1 0 1 1 1 1 1 0 1 ]6
[ 1 0 1 1 1 1 1 0 1 ]3 cv2 8
[ 1 0 1 1 1 1 1 0 1 ]6
đầu ra không đảo ngược mặt nạ Mặt nạ đảo ngược ví dụ 2. Chương trình này tương tự như chương trình đã giải thích ở trên. Sự khác biệt duy nhất là thay vì chuyển đổi hình ảnh thành b/w, chúng tôi trực tiếp tạo mặt nạ cho quả táo vàng và sau đó đảo ngược mặt nạ đã tạo bằng cách sử dụng thao tác bitwise_not. Làm cách nào để tạo mặt nạ bằng Python?Các bước cần thiết . Nhập thư viện Tạo một chức năng cho mặt nạ Mặt nạ có thể được thực hiện bằng cách làm theo hai cách tiếp cận. - Sử dụng hàm masked_where(). Truyền hai mảng trong hàm dưới dạng tham số rồi sử dụng numpy. mẹ. hàm masked_where() trong đó vượt qua điều kiện để tạo mặt nạ và mảng được che Mặt nạ trong openCV Python là gì?Che dấu là kỹ thuật phổ biến để trích xuất Vùng quan tâm (ROI) . Trong openCV, có thể xây dựng hình dạng mặt nạ tùy ý bằng cách sử dụng chức năng vẽ và thao tác theo bit.
Tại sao mặt nạ được sử dụng trong xử lý ảnh?Mặt nạ để làm mờ
. Giảm tiếng ồn cũng có thể với sự trợ giúp của làm mờ.
Mặt nạ nhị phân trong xử lý ảnh là gì?Mặt nạ nhị phân xác định vùng quan tâm (ROI) của hình ảnh . Các giá trị pixel mặt nạ là 1 cho biết các pixel hình ảnh thuộc về ROI. Các giá trị pixel mặt nạ bằng 0 cho biết các pixel hình ảnh là một phần của nền. Tùy thuộc vào ứng dụng, ROI có thể bao gồm các nhóm pixel liền kề hoặc không liền kề. |