Tìm hiểu xử lý ảnh bằng OpenCV trong Python - Thực hành 3
Male avatar

aska viết ngày 08/08/2019

Ghép 2 ảnh với nhau và tách một đối tượng có màu quy định ra khỏi bức ảnh

Đoạn đầu sẽ là ghép 2 bức ảnh có cùng kích thước với nhau:

Code

import numpy as np
import cv2
img = cv2.imread ("anhxam.jpg",1);
imga = cv2.imread ("anh1.jpg",1);
cv2.imshow("anh 1", img)
cv2.waitKey(0)
cv2.imshow("anh 2", imga)
img1 = img[10:500, 20:390]; #đoạn này là cắt ảnh
img2 = imga[10:500, 20:390]; #cắt 2 tấm ảnh có cùng kích thước với nhau - có thể khác vị trí nhưng cùng kích thước cao và rộng
img3= cv2.add(img1,img2) #lệnh ghép 2 ảnh với nhau - thực hiện phép cộng 2 pixcel
cv2.imshow("anh ghep", img3)
cv2.waitKey(0)
cv2.destroyAllWindows()

Tách một đối tượng có màu trong ảnh ra khỏi bức ảnh

Code

import numpy as np
import cv2
img= np.uint8([[[10, 72 , 250]]]) #Đổi 1 điểm ảnh từ hệ BGR sang HSV
hsv_img3 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
print(hsv_img3) #in giá trị màu trong hệ HSV
img2=cv2.imread("anhcat.jpg",1)
hsv_img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2HSV) #Đổi ảnh sang hệ HSV
cv2.imshow ("hien anh HSV", hsv_img2)
cv2.waitKey(0)
cv2.imwrite('anhHSV.jpg',hsv_img2)
min_mau = np.array([7, 140, 185]) #xác định giá trị nhỏ nhất mảng màu
max_mau = np.array([8, 245, 250]) #xác định giá trị lớn nhất mảng màu
mask = cv2.inRange(hsv_img2, min_mau, max_mau) #tạo một mặt nạ trong khoảng màu min, max
cv2.imshow ("mat na anh", mask)
cv2.waitKey(0)
Tạo 1 ảnh mới bằng phép and các bit màu của ảnh với mặt nạ
final = cv2.bitwise_and(img2, img2, mask = mask)
cv2.imshow ("mat na anh", final)
cv2.waitKey(0)
cv2.destroyAllWindows()

aska 07-08-2019

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

aska

5 bài viết.
5 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
2 0
Bài thực hành theo hướng dẫn 1 Đây là bài mình làm theo các hướng dẫn để mở và xem các thông số của 1 bức ảnh. đây là code sau khi đã chỉnh sửa v...
aska viết 1 năm trước
2 0
Male avatar
1 0
Sử dụng thư viện Face_Detect đi kèm trong OpenCV Sau khi chạy thử một số bài hướng dẫn khác thì mình vướng 1 số lỗi, chủ yếu là do phiên bản mới c...
aska viết 1 năm trước
1 0
Male avatar
1 0
Khởi tạo mảng random bảng dữ liệu Để áp dụng thuật toán trước hết ta cần biết tạo mảng ngẫu nhiên để khởi tạo dữ liệu đầu vào (nếu không muốn nhập...
aska viết 1 năm trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
5 bài viết.
5 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!