Làm Quen Với OpenCV: Đọc, Hiển Thị Và Lưu ảnh - Viblo
Có thể bạn quan tâm
Xin chào các bạn, hôm nay mình sẽ giới thiệu các bạn về thư viện Opencv2, 1 thư viện rất mạnh hay sử dụng trong xử lý ảnh, đây cũng chính là thư viện mình sử chủ yếu code trong các bài tiếp theo. Và ở đây mình sẽ code bằng ngôn ngữ python 3 trên môn trường jupyter notebook.
SetupMình khuyến khích các bạn sử dụng anaconda ở đó sẽ có jupyter notebook, cách settup bạn có thể tham khảo đường link sau đây.
Cài đặt thư viện opencv2:
pip install opencv-pythonKiểm tra version:
import cv2 cv2.__version__ #'4.1.1'Hoặc nếu bạn không muốn mất thời gian bạn có thể sử dụng colab
Read and display imageẢnh mình sẽ dùng sẽ là ảnh như sau:
iname = 'lena.jpg' #read image img = cv2.imread(iname) imgĐầu ra của img lúc này sẽ là 1 ma trận ba chiều nhưng trong phần lý thuyết RGB. Chúng ta sẽ có câu lệnh xem shape và size của ảnh:
img.shape() # output: (512, 512, 3) img.size # output: 786432Khi display ảnh thì có 2 cách:
-
Cách 1 dùng hàm có sẵn trong cv2:
# cv2.imshow(window_name, image) cv2.imshow('test', img) -
Cách 2 dùng thư viện matplotlib.
#to display at jupyter notebook import matplotlib.pyplot as plt #Note cv2 read BGR as default plt.imshow(image)Nếu code như trên thì ảnh đầu ra sẽ như sau:
Bởi vì cv2 mặc định đọc ảnh màu theo thứ là BGR (là blue, green và red). VÌ vậy muốn display đúng ta phài viết:
#display rgb image plt.imshow(image[:,:,::-1])
Các phép toán ta quen thuộc sử dụng trên numpy cũng được sử dụng trong image data. ví dụ:
img[0,0] #output: array([128, 138, 225], dtype=uint8)Crop ra 1 phần trong ảnh và display chúng:
#crop image crop = img[100:300, 100:300] plt.imshow(crop[:,:,::-1])Kết quả:
Chuyển màu vùng ta vừa crop thành màu xanh:
copy = img.copy() copy[100:300, 100:300] = [255, 0, 0] #assign blue color plt.imshow(copy[:,:,::-1])Kết quả:
Resizing imagesTa muốn resize lại ảnh trên thành ảnh có kích thước 200, 200 sẽ làm như sau:
h, w = image.shape[:2] resized = cv2.resize(image, (200, 200)) plt.imshow(resized[:,:,::-1]) Write imagesLưu file ảnh ta dùng câu lệnh sau:
# cv2.imwrite(filename, image) cv2.imwrite("test.jpg", resized) Tổng kếtTất cả code bạn có thể xem chi tiết tại đây: đây
Trên đây mình đã giới thiệu với các bạn về cách đọc, display và lưu một file ảnh
Từ khóa » Thư Viện Xử Lý ảnh Trong Python
-
Xử Lý Ảnh Cơ Bản Với OpenCV Trong Python (P1) - CodeLearn
-
Xử Lý Hình ảnh Trong Python: Từ Thuật Toán đến Công Cụ - VinBigData
-
Bài Tập Xử Lý ảnh Có Lời Gải – Code Python ( OpenCV )
-
Xử Lý Hình ảnh Bằng Python - Koodibar
-
TOP THƯ VIỆN PYTHON TỐT NHẤT - Hybrid Technologies
-
Xử Lý ảnh Python - Quang Silic
-
Xử Lý ảnh Với Opencv-python Cơ Bản ( Phần 1/n) - Hóng Tin
-
Mở Open Một Bức ảnh Bằng Python | Xử Lý ảnh Trí Tuệ Nhân Tạo
-
Xử Lý ảnh - OpenCV đọc Ghi Hình ảnh (code Python Và C++)
-
Xử Lý ảnh, Bằng Python?
-
Tìm Hiểu Xử Lý ảnh Bằng OpenCV Trong Python - Thực Hành 2
-
Convolution - Xử Lý ảnh Qua Ví Dụ Python Thực Tế - Techmaster