Python giúp dễ dàng nhập hình ảnh và chơi với chúng. Biết cách đọc hình ảnh trong Python sẽ cho phép bạn xử lý hình ảnh và huấn luyện các mô hình học máy trên dữ liệu hình ảnh
Xử lý hình ảnh là gì?
Xử lý hình ảnh liên quan đến việc thực hiện một số thao tác trên hình ảnh, để có được hình ảnh nâng cao hoặc trích xuất một số thông tin hữu ích từ hình ảnh đó
Lĩnh vực xử lý ảnh sắp ra mắt và phát triển nhanh chóng. Nó cho phép phát hiện đối tượng trong hình ảnh có nhiều ứng dụng từ ô tô tự lái đến phát hiện khối u trong lĩnh vực khoa học y tế
Hình ảnh là gì?
Đây là một câu hỏi ngớ ngẩn. Tất nhiên, bạn biết một hình ảnh là gì. Thay vào đó, một câu hỏi hay hơn để hỏi sẽ là 'hình ảnh cho máy là gì'
Những gì bạn nhìn thấy dưới dạng hình ảnh thực sự là ma trận 2D cho máy tính
Một hình ảnh kỹ thuật số được lưu trữ dưới dạng kết hợp các pixel. Mỗi pixel còn chứa một số kênh khác nhau. Nếu là ảnh thang độ xám, nó chỉ có một pixel, trong khi ảnh màu chứa ba kênh. đỏ, xanh lá cây và xanh dương
Mỗi kênh của mỗi pixel có giá trị từ 0 đến 255. Với sự kết hợp của màu đỏ, xanh lá cây và xanh lam theo các tỷ lệ khác nhau, chúng ta có thể tạo ra bất kỳ màu nào
Sử dụng OpenCV để đọc hình ảnh trong Python
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách đọc hình ảnh trong Python bằng thư viện OpenCV
OpenCV là một thư viện phần mềm thị giác máy tính và máy học mã nguồn mở gồm các chức năng lập trình chủ yếu nhằm vào thị giác máy tính thời gian thực.
1. Cài đặt thư viện OpenCV
Bạn có thể cài đặt gói bằng lệnh pip như bên dưới
pip install opencv-python
Để sử dụng OpenCV trong dự án Python của bạn, bạn sẽ cần nhập nó. Để nhập nó, hãy sử dụng dòng sau
import cv2
2. Lập trình để đọc hình ảnh
Để đọc một hình ảnh bằng OpenCV, hãy sử dụng dòng mã sau
img = cv2.imread['image_path']
Bây giờ biến img sẽ là một ma trận các giá trị pixel. Chúng ta có thể in nó và xem các giá trị RGB
Hình ảnh chúng tôi đang sử dụng cho ví dụ này là
Để in ma trận sử dụng
print[img]
3. Hoàn thành triển khai để đọc hình ảnh trong Python bằng OpenCV
Mã hoàn chỉnh như sau
import cv2 #read img = cv2.imread['sample_image.jpg'] #show print[img]
đầu ra
Hiển thị hình ảnh bằng Python OpenCV
Để hiển thị hình ảnh bằng OpenCV, hãy sử dụng dòng sau
ccv2.imshow['image',img] cv2.waitKey[0] cv2.destroyAllWindows[]
cv2. waitKey[] là chức năng liên kết bàn phím. Đối số của nó là thời gian tính bằng mili giây
Chức năng chờ mili giây được chỉ định cho bất kỳ sự kiện bàn phím nào. Nếu bạn nhấn bất kỳ phím nào trong thời gian đó, chương trình sẽ tiếp tục. Nếu 0 được thông qua, thì nó sẽ chờ một lần nhấn phím vô thời hạn
Triển khai Python
Mã hoàn chỉnh để hiển thị hình ảnh là
import cv2 #read img = cv2.imread['sample_image.jpg'] #show cv2.imshow['image',img] cv2.waitKey[0] cv2.destroyAllWindows[]
Thao tác hình ảnh bằng Python OpenCV
Có rất nhiều chức năng trong OpenCV cho phép bạn thao tác với một hình ảnh. Chúng ta sẽ xem xét cách biến một hình ảnh thành thang độ xám
Hình ảnh thang độ xám có nghĩa là mỗi pixel sẽ chỉ có một kênh có giá trị từ 0 đến 255
Mã để làm điều đó là
gray_image = cv2.cvtColor[img, cv2.COLOR_BGR2GRAY]
Triển khai mã Python
Mã hoàn chỉnh để chuyển một hình ảnh sang thang độ xám là
________số 8_______
Bạn có thể thấy rằng kích thước của ma trận này khác với kích thước của hình ảnh màu
Lưu tệp hình ảnh đã thao tác
Để lưu hình ảnh sau khi thao tác, hãy sử dụng dòng mã sau
cv2.imwrite['sample_grayscale.jpg',gray_image]
Ở đây, đối số đầu tiên là tên bạn muốn đặt cho tệp, đối số thứ hai là biến chứa hình ảnh bạn muốn lưu. Chúng tôi đang lưu hình ảnh thang độ xám mà chúng tôi đã tạo ở trên
Hoàn thành mã Python để chuyển thang độ xám của hình ảnh màu
Mã hoàn chỉnh để lưu hình ảnh là
import cv20
Phần kết luận
Trong hướng dẫn này, chúng tôi đã giới thiệu cách đọc và thao tác hình ảnh trong Python bằng OpenCV. Để khám phá thêm về OpenCV, hãy đọc tài liệu của nó