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.  

Đả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ẻ

cú pháp. cv2. bitwise_not[masked_image]

Thông số.  

  • masked_image. Đó là hình ảnh được đảo ngược
  • Giá trị trả về. Nó trả về hình ảnh mặt nạ đảo ngược

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




# Python program to explain

# mask inversion on a b/w image.

 

# importing cv2 and numpy library

import cv2

import numpy as np

 

[ 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 explain1# Python program to explain2# Python program to explain3# Python program to explain2# Python program to explain5

 

# Python program to explain7

# Python program to explain8

[ 1 0 1
  1 1 1
  1 0 1 ]
3 # mask inversion on a b/w image.0

 

# mask inversion on a b/w image.2

# mask inversion on a b/w image.3

# mask inversion on a b/w image.4

[ 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 explain3# mask inversion on a b/w image.9# Python program to explain3 1 2

 3_______1_______3 # mask inversion on a b/w image.6 6# Python program to explain3 8# Python program to explain3 8 2

 

# importing cv2 and numpy library3

# importing cv2 and numpy library4

# importing cv2 and numpy library5

[ 1 0 1
  1 1 1
  1 0 1 ]
3 # importing cv2 and numpy library7

# importing cv2 and numpy library5

[ 1 0 1
  1 1 1
  1 0 1 ]
3 import0
[ 1 0 1
  1 1 1
  1 0 1 ]
3import2
[ 1 0 1
  1 1 1
  1 0 1 ]
6

# importing cv2 and numpy library5

[ 1 0 1
  1 1 1
  1 0 1 ]
3 import6

# importing cv2 and numpy library5

[ 1 0 1
  1 1 1
  1 0 1 ]
3 import9
[ 1 0 1
  1 1 1
  1 0 1 ]
3import2
[ 1 0 1
  1 1 1
  1 0 1 ]
6

 

cv24

cv25

# importing cv2 and numpy library5

[ 1 0 1
  1 1 1
  1 0 1 ]
3 cv28

 

import0

import1import2import3

 

import5

import6

import7

import8import9

[ 1 0 1
  1 1 1
  1 0 1 ]
6

 

numpy as np2

numpy as np3

đầ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ề.

Chủ Đề