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ườngCá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 bitwiseKế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 XORKế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 Đang cài đặtKế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 XORKết hợp với và hoạt động Đưa ra lựa chọn với hoặc hoạt độngKế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 độngPhủ đị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 - 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. - 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.
- 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 opencvCá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ôngMặ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ạ
|