Hướng dẫn python clipping mask - mặt nạ trăn

Trong phần thứ 5 này của chuỗi xử lý hình ảnh, chúng tôi thảo luận thêm về các hoạt động số học và bitwise, và che giấu hình ảnh trong Python.

Nội dung chính

  • Thiết lập môi trường
  • Các hoạt động số học trên hình ảnh sử dụng Python
  • Hoạt động bitwise
  • Độc quyền với hoạt động XOR
  • Kết hợp với và hoạt động
  • Đưa ra lựa chọn với hoặc hoạt động
  • Độc quyền với hoạt động XOR
  • Kết hợp với và hoạt động
  • Đưa ra lựa chọn với hoặc hoạt động
  • Phủ định bằng cách sử dụng hoạt động không
  • Mặt nạ hình ảnh bằng python opencv

Đang cài đặt

  • Thiết lập môi trường
  • Các hoạt động số học trên hình ảnh sử dụng Python
  • Hoạt động bitwise
  • Kết hợp với và hoạt động
  • Đưa ra lựa chọn với hoặc hoạt động
  • Độc quyền với hoạt động XOR
  • Kết hợp với và hoạt động
  • Đưa ra lựa chọn với hoặc hoạt động

Phủ định bằng cách sử dụng hoạt động không

Thiết lập môi trường

Các hoạt động số học trên hình ảnh sử dụng Python

Hoạt động bitwise

# importing numpy to work with pixels
import numpy as np

# importing argument parsers
import argparse

# importing the OpenCV module
import cv2


# initializing an argument parser object
ap = argparse.ArgumentParser()

# adding the argument, providing the user an option
# to input the path of the image
ap.add_argument("-i", "--image", required=True, help="Path to the image")

# parsing the argument
args = vars(ap.parse_args())

# reading the image location through args
# and reading the image using cv2.imread
image = cv2.imread(args["image"])

Các hoạt động số học trên hình ảnh sử dụng Python

Hoạt động bitwise

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Độc quyền với hoạt động XOR

Kết hợp với và hoạt động

# printing out details of image min, max and the wrap around
print("max of 255 :", str(cv2.add(np.uint8([200]), np.uint8([100]))))
print("min of 0 :", str(cv2.subtract(np.uint8([50]), np.uint8([100]))))

print("wrap around :", str(np.uint8([200]) + np.uint8([100])))
print("wrap around :", str(np.uint8([50]) - np.uint8([100])))

Đưa ra lựa chọn với hoặc hoạt động

# adding pixels of value 255 (white) to the image
M = np.ones(image.shape, dtype="uint8") * 100
added = cv2.add(image, M)
cv2.imshow("Added", added)
cv2.waitKey(0)

Phủ định bằng cách sử dụng hoạt động không

Mặt nạ hình ảnh bằng python opencv

# adding pixels of value 0 (black) to the image
M = np.ones(image.shape, dtype="uint8") * 50
subtracted = cv2.subtract(image, M)
cv2.imshow("Subtracted", subtracted)
cv2.waitKey(0)

Đang cài đặt

Hoạt động bitwise

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Độc quyền với hoạt động XOR

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Phủ định bằng cách sử dụng hoạt động không

# creating a square of zeros using a variable
rectangle = np.zeros((300, 300), dtype="uint8")
cv2.rectangle(rectangle, (25, 25), (275, 275), 255, -1)
cv2.imshow("Rectangle : ", rectangle)

# creating a circle of zeros using a variable
circle = np.zeros((300, 300), dtype="uint8")
cv2.circle(circle, (150, 150), 150, 255, -1)
cv2.imshow("Circle : ", circle)

Mặt nạ hình ảnh bằng python opencv

Hướng dẫn python clipping mask - mặt nạ trăn

Đang cài đặt

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Phủ định bằng cách sử dụng hoạt động không

Độc quyền với hoạt động XOR

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Độc quyền với hoạt động XOR

# the bitwise_or function executes the OR operation
# on both the images
bitwiseOr = cv2.bitwise_or(rectangle, circle)
cv2.imshow("OR", bitwiseOr)
cv2.waitKey(0)

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Độc quyền với hoạt động XOR

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Kết hợp với và hoạt động

Đưa ra lựa chọn với hoặc hoạt động

Phủ định bằng cách sử dụng hoạt động không

Mặt nạ hình ảnh bằng python opencv

# the bitwise_not function executes the NOT operation
# on both the images
bitwiseNot = cv2.bitwise_not(rectangle, circle)
cv2.imshow("NOT", bitwiseNot)
cv2.waitKey(0)

Đang cài đặt

Người giới thiệu

Đưa ra lựa chọn với hoặc hoạt động

Phủ định bằng cách sử dụng hoạt động không

Mặt nạ hình ảnh bằng python opencv

Đang cài đặt

Người giới thiệu

Nội phân chính

  1. Chúng tôi khuyên bạn nên chạy qua, trước khi bắt đầu cuộc phiêu lưu học tập đeo mặt nạ của bạn ở đây.black canvas with the same dimensions as the image, and naming it as
    # printing out details of image min, max and the wrap around
    print("max of 255 :", str(cv2.add(np.uint8([200]), np.uint8([100]))))
    print("min of 0 :", str(cv2.subtract(np.uint8([50]), np.uint8([100]))))
    
    print("wrap around :", str(np.uint8([200]) + np.uint8([100])))
    print("wrap around :", str(np.uint8([50]) - np.uint8([100])))
    
    9.
  2. Các dòng mã sau đây được sử dụng trong tất cả các ứng dụng được đưa ra dưới đây. Thay vào đó, chúng tôi bao gồm những người ở đây để bạn không phải đọc qua một khối mã khổng lồ.white color.
  3. Giúp giảm sự lộn xộn :)

# the bitwise_and function executes the AND operation
# on both the images
bitwiseAnd = cv2.bitwise_and(rectangle, circle)
cv2.imshow("AND", bitwiseAnd)
cv2.waitKey(0)

# the bitwise_xor function executes the XOR operation
# on both the images
bitwiseXor = cv2.bitwise_xor(rectangle, circle)
cv2.imshow("XOR", bitwiseXor)
cv2.waitKey(0)
Mặt nạ hình ảnh bằng python opencv

Các hoạt động số học cho phép chúng tôi tăng cường rất nhiều khía cạnh của một hình ảnh.

Chúng ta có thể làm việc với ánh sáng, bóng tối, cải tiến màu đỏ, xanh dương và xanh lá cây.

Rất nhiều bộ lọc hình ảnh trên các ứng dụng sử dụng cùng một phương pháp để thay đổi và làm đẹp các bức ảnh.black canvas with the same dimensions as the image, and naming it as
# printing out details of image min, max and the wrap around
print("max of 255 :", str(cv2.add(np.uint8([200]), np.uint8([100]))))
print("min of 0 :", str(cv2.subtract(np.uint8([50]), np.uint8([100]))))

print("wrap around :", str(np.uint8([200]) + np.uint8([100])))
print("wrap around :", str(np.uint8([50]) - np.uint8([100])))
9.

Vì vậy, hãy để bắt đầu với tất cả các mã!white color.

Đầu tiên, để hiểu liệu giới hạn có thể vượt quá 255 hoặc 0 hay không, chúng ta có thể tiến hành một bài kiểm tra đơn giản, cung cấp cho chúng ta
# printing out details of image min, max and the wrap around
print("max of 255 :", str(cv2.add(np.uint8([200]), np.uint8([100]))))
print("min of 0 :", str(cv2.subtract(np.uint8([50]), np.uint8([100]))))

print("wrap around :", str(np.uint8([200]) + np.uint8([100])))
print("wrap around :", str(np.uint8([50]) - np.uint8([100])))
1 và
# printing out details of image min, max and the wrap around
print("max of 255 :", str(cv2.add(np.uint8([200]), np.uint8([100]))))
print("min of 0 :", str(cv2.subtract(np.uint8([50]), np.uint8([100]))))

print("wrap around :", str(np.uint8([200]) + np.uint8([100])))
print("wrap around :", str(np.uint8([50]) - np.uint8([100])))
2.

Phủ định bằng cách sử dụng hoạt động không

Mặt nạ hình ảnh bằng python opencv

Vì vậy, hãy để tạo ra một hình vuông bitwise và một vòng tròn bitwise thông qua đó chúng ta có thể sử dụng các hoạt động bitwise.

Chúng tôi tiến hành với một tốc độ tốt, nhưng, trong trường hợp bạn muốn bỏ qua thời gian và đi đến cuối cùng, hãy là khách của tôi!

Ở đây, các bài viết cho phép bạn xem xét OpenCV và nhận dạng khuôn mặt, và việc triển khai Java của Android và Camerax Opencv.

Người giới thiệu

  • Trang web OpenCV chính thức
  • Giới thiệu để bắt đầu với OpenCV
  • Kho lưu trữ github của tôi để xử lý hình ảnh
  • Mã hoạt động số học
  • Mã hoạt động bitwise
  • Mã mặt nạ