Cách tải hình ảnh trong python
Đến cuối hướng dẫn này, bạn sẽ hiểu rõ về cách tải hình ảnh từ đĩa bằng OpenCV Show
Để tìm hiểu cách tải hình ảnh từ đĩa bằng OpenCV và $ pip install opencv-contrib-python0, chỉ cần tiếp tục đọc Tìm kiếm mã nguồn cho bài viết này?Hình ảnh tải OpenCV (cv2. imread)Trong phần đầu tiên của hướng dẫn này, chúng ta sẽ thảo luận cách tải ảnh từ đĩa bằng OpenCV và hàm $ pip install opencv-contrib-python0 Từ đó, bạn sẽ học cách định cấu hình môi trường phát triển của mình để cài đặt OpenCV Sau đó, chúng tôi sẽ xem xét cấu trúc thư mục dự án của mình, tiếp theo là triển khai $ pip install opencv-contrib-python3, một tập lệnh Python sẽ tải hình ảnh đầu vào từ đĩa bằng OpenCV và hàm $ pip install opencv-contrib-python0 Chúng tôi sẽ kết thúc hướng dẫn này với một cuộc thảo luận về kết quả của chúng tôi Làm cách nào để chúng tôi tải hình ảnh từ đĩa bằng OpenCV?Hình 1. Để tải một hình ảnh từ đĩa với OpenCV, chúng ta có thể sử dụng chức năng$ pip install opencv-contrib-python0 Để tải ảnh đầu vào từ đĩa bằng OpenCV, chúng ta phải sử dụng hàm $ pip install opencv-contrib-python0 (Hình 1) Hàm $ pip install opencv-contrib-python0 chấp nhận một tham số duy nhất, đường dẫn đến nơi hình ảnh của bạn tồn tại trên đĩa của bạn image = cv2.imread("path/to/image.png") Hàm OpenCV $ pip install opencv-contrib-python0 sau đó trả về một trong hai giá trị
Thông thường, hàm $ pip install opencv-contrib-python0 sẽ trả về $ pip install opencv-contrib-python02 nếu đường dẫn đến hình ảnh đầu vào không hợp lệ, . so be sure to double-check and triple-check your input image paths! Chức năng này cũng sẽ không hoạt động đối với các loại tệp hình ảnh không được hỗ trợ, mặc dù OpenCV có thể đọc nhiều loại tệp, bao gồm JPEG, PNG, TIFF và GIF. Hãy xem cách lấy thư viện OpenCV trước khi đưa hàm $ pip install opencv-contrib-python0 vào hoạt động Định cấu hình môi trường phát triển của bạnTrước khi đi sâu vào tải hình ảnh bằng OpenCV, bạn cần cài đặt thư viện trên hệ thống của mình May mắn thay, OpenCV có thể cài đặt bằng pip $ pip install opencv-contrib-python Nếu bạn cần trợ giúp về cấu hình môi trường phát triển cho OpenCV 4. 3+, tôi thực sự khuyên bạn nên đọc hướng dẫn cài đặt OpenCV pip của tôi — nó sẽ giúp bạn thiết lập và chạy trong vài phút Bạn gặp sự cố khi định cấu hình môi trường phát triển của mình?Hình 2. Gặp sự cố khi định cấu hình môi trường nhà phát triển của bạn?Tất cả những gì đã nói, là bạn
Vậy thì hãy tham gia PyImageSearch Plus ngay hôm nay Có quyền truy cập Jupyter Notebooks cho hướng dẫn này và các hướng dẫn khác của PyImageSearch được định cấu hình sẵn để chạy trên hệ sinh thái của Google Colab ngay trong trình duyệt web của bạn. Không cần cài đặt Và trên hết, những Notebook Jupyter này sẽ chạy trên Windows, macOS và Linux Cấu trúc dự ánHãy xem lại cấu trúc dự án của chúng tôi. Lấy mã nguồn từ phần "Tải xuống", giải nén nội dung và điều hướng đến nơi bạn đã lưu nó $ pip install opencv-contrib-python0 Dự án của chúng tôi chứa một tập lệnh Python duy nhất có tên là $ pip install opencv-contrib-python3 và một vài hình ảnh thử nghiệm Trong tập lệnh của chúng tôi, trước tiên chúng tôi sẽ tải một hình ảnh từ đĩa bằng chức năng OpenCV image = cv2.imread("path/to/image.png")8 và sau đó hiển thị nó trên màn hình để đánh giá. Cuối cùng, chúng tôi sẽ lưu hình ảnh được hiển thị trở lại đĩa bằng OpenCV dưới dạng tệp mới có tên $ pip install opencv-contrib-python06 Bây giờ hãy triển khai tập lệnh Python tải hình ảnh của chúng ta bằng OpenCV Triển khai tập lệnh tải hình ảnh OpenCV của chúng tôiHãy bắt đầu tìm hiểu cách tải hình ảnh đầu vào từ đĩa bằng OpenCV Tạo tập lệnh Python có tên $ pip install opencv-contrib-python07 và chèn đoạn mã sau $ pip install opencv-contrib-python0 Bắt đầu bằng cách nhập gói tiện ích Python $ pip install opencv-contrib-python08 để phân tích đối số dòng lệnh trên Dòng 2 và thư viện OpenCV trên Dòng 3 Lưu ý rằng các nhà phát triển OpenCV đã sử dụng tên $ pip install opencv-contrib-python09 từ phiên bản 2. 0 của thư viện và giữ nguyên quy ước đặt tên này bất kể chúng tôi đang sử dụng bản phát hành nào (e. g. , 3. x, 4. x). Chúng tôi sẽ sử dụng phiên bản mới nhất 4. 3+ đã cài đặt như chi tiết ở phần trước Gói $ pip install opencv-contrib-python08 cho phép chúng tôi chuyển các đối số động cho tập lệnh Python của mình để chúng tôi không phải mã hóa các biến tham số cần được thay đổi thủ công mỗi khi chúng tôi muốn thay đổi giá trị của chúng Nếu bạn không quen với cách thức hoạt động của gói $ pip install opencv-contrib-python08, hãy nhớ đọc hướng dẫn của tôi về chủ đề này Các dòng 6-9 thiết lập trình phân tích cú pháp đối số dòng lệnh của chúng tôi với một đối số duy nhất chứa đường dẫn đến đầu vào của chúng tôi $ pip install opencv-contrib-python02. Chúng tôi đặt đối số theo yêu cầu, đảm bảo rằng một giá trị phải luôn được chuyển khi gọi tập lệnh Python của chúng tôi Với đường dẫn $ pip install opencv-contrib-python02 đầu vào của chúng tôi được xác định động, giờ đây thật dễ dàng để tải hình ảnh bằng OpenCV $ pip install opencv-contrib-python7 OpenCV làm cho việc đọc nhiều loại tệp hình ảnh từ đĩa trở nên dễ dàng với chức năng image = cv2.imread("path/to/image.png")8 Chúng tôi tải đầu vào $ pip install opencv-contrib-python0 vào bộ nhớ trên Dòng 13 bằng cách sử dụng $ pip install opencv-contrib-python0, trả về $ pip install opencv-contrib-python07 dưới dạng mảng NumPy. Sau khi thành công, chúng tôi thu được kích thước hình ảnh $ pip install opencv-contrib-python08 từ hình dạng của mảng (Dòng 14) — Tôi sẽ cung cấp thêm thông tin về các lưu ý liên quan đến dòng mã này sau Bây giờ chúng ta có thể in kích thước hình ảnh (chiều rộng, chiều cao và số kênh) tới thiết bị đầu cuối để xem xét (Dòng 18-20) Trong một bài đăng trên blog trong tương lai, chúng ta sẽ nói về kênh hình ảnh là gì, nhưng hiện tại, hãy nhớ rằng số lượng kênh sẽ là ba đối với hình ảnh màu, đại diện cho các thành phần Đỏ, Xanh lục và Xanh lam (RGB) của màu pixel Nhưng này, có ích lợi gì khi có một hình ảnh trong bộ nhớ nếu chúng ta không biết liệu nó có được OpenCV đọc chính xác hay không? $ pip install opencv-contrib-python3 Hàm $ pip install opencv-contrib-python09 OpenCV ở đây rất thuận tiện, vì nó hiển thị một hình ảnh trên màn hình của chúng ta chỉ bằng hai tham số (Dòng 23). Đầu tiên là một chuỗi đại diện cho tên được gán cho cửa sổ sẽ được mở để giữ hình; Từ đó, chúng ta cần gọi hàm $ pip install opencv-contrib-python71 để giữ cửa sổ mở cho đến khi nhấn phím (Dòng 24). Hàm này nhận một tham số duy nhất tương ứng với độ trễ thời gian (tính bằng mili giây) được sử dụng để giữ cho cửa sổ hoạt động nếu không có phím nào được nhấn. Giá trị tham số $ pip install opencv-contrib-python72 hướng dẫn hàm $ pip install opencv-contrib-python73 chờ vô thời hạn Cuối cùng, Dòng 28 lưu lại $ pip install opencv-contrib-python07 vào đĩa. Hàm OpenCV $ pip install opencv-contrib-python75 chấp nhận tên tệp làm tham số đầu tiên và $ pip install opencv-contrib-python07 làm tham số thứ hai Hàm $ pip install opencv-contrib-python75 lưu tệp có tên $ pip install opencv-contrib-python78 mà . the $ pip install opencv-contrib-python07 to JPG format based on the filename extension. Bây giờ bạn có thể áp dụng OpenCV cho
Chúng tôi sẽ xem xét một số kết quả của các hoạt động đó trong phần tiếp theo Kết quả tải hình ảnh OpenCVBây giờ là lúc tải hình ảnh từ đĩa bằng OpenCV Bắt đầu bằng cách truy cập phần “Tải xuống” của hướng dẫn này để truy xuất mã nguồn và hình ảnh ví dụ Từ đó, mở một thiết bị đầu cuối và thực hiện lệnh sau $ pip install opencv-contrib-python5Hình 3. Đang tải hình ảnh từ đĩa bằng OpenCV và $ pip install opencv-contrib-python0 Vào sinh nhật lần thứ 30 của tôi cách đây vài năm, vợ tôi đã thuê một chiếc xe jeep gần như bản sao của Công viên kỷ Jura (bộ phim yêu thích của tôi) để chúng tôi lái đi chơi cả ngày Trong Hình 3, bạn có thể thấy rằng hình ảnh đầu vào của chúng tôi, $ pip install opencv-contrib-python31, đã được tải từ đĩa bằng OpenCV và sau đó được hiển thị trên màn hình của bạn Hình ảnh này có chiều rộng 720 pixel, chiều cao 764 pixel và ba kênh (một kênh tương ứng cho mỗi kênh Đỏ, Xanh lục và Xanh lam) Ngoài ra, nếu bạn kiểm tra nội dung của thư mục dự án của chúng tôi sau khi chạy tập lệnh, bạn sẽ thấy một tệp có tên $ pip install opencv-contrib-python06 $ pip install opencv-contrib-python9 Hình ảnh này đã được lưu vào đĩa qua OpenCV bằng chức năng $ pip install opencv-contrib-python75 Lưu ý rằng mặc dù hình ảnh $ pip install opencv-contrib-python1 là loại tệp PNG, OpenCV đã tự động chuyển đổi hình ảnh thành loại tệp JPG cho chúng tôi Hãy thử một hình ảnh khác $ pip install opencv-contrib-python2hinh 4. Tải hình ảnh OpenCV với $ pip install opencv-contrib-python0 Tiếp tục với chủ đề Công viên kỷ Jura trong hướng dẫn này, ở đây chúng ta có một bức ảnh của Ray Arnold (do Samuel L. Jackson) Hình ảnh này có chiều rộng 577 pixel, chiều cao 433 pixel và ba kênh Nếu bạn là người mới sử dụng OpenCV, tôi khuyên bạn nên dành thời gian để tìm hiểu về hàm $ pip install opencv-contrib-python0. Cụ thể, thử nghiệm với
Nói về mục đạn cuối cùng đó, hãy thử ngay bây giờ… Điều gì xảy ra nếu chúng tôi chuyển một đường dẫn hình ảnh không hợp lệ tới “cv2. imread”?Bạn có thể thắc mắc điều gì sẽ xảy ra nếu chúng ta chuyển một đường dẫn tệp không hợp lệ (có nghĩa là đường dẫn đến hình ảnh đầu vào không tồn tại trên đĩa) tới OpenCV và image = cv2.imread("path/to/image.png")8? Hãy cùng tìm hiểu $ pip install opencv-contrib-python9 Ở đây tôi cố tình cung cấp một đường dẫn hình ảnh không tồn tại trên đĩa của tôi Khi tôi chuyển một đường dẫn hình ảnh không hợp lệ tới hàm $ pip install opencv-contrib-python0 của OpenCV, $ pip install opencv-contrib-python0 trả về $ pip install opencv-contrib-python02 Và khi tôi cố gắng lấy chiều rộng, chiều cao và số lượng kênh của hình ảnh, Python đã báo lỗi với $ pip install opencv-contrib-python54, nói rằng đối tượng $ pip install opencv-contrib-python00 không có thuộc tính $ pip install opencv-contrib-python56 Lỗi này có ý nghĩa khi bạn nghĩ về nó
Bất cứ khi nào bạn thấy các lỗi $ pip install opencv-contrib-python02 hoặc $ pip install opencv-contrib-python00 này, bước đầu tiên của bạn trong việc chẩn đoán và giải quyết chúng là điều tra xem hình ảnh của bạn có được đọc thành công từ đĩa một cách chính xác hay không. 99% trường hợp lỗi là do mã của bạn giả sử hình ảnh hợp lệ, nhưng trên thực tế, hình ảnh không được đọc chính xác từ đĩa Cái gì tiếp theo?Thông tin khóa học. Tôi thực sự tin rằng nếu bạn có đúng giáo viên, bạn có thể thành thạo thị giác máy tính và học sâu Bạn có nghĩ rằng việc học thị giác máy tính và học sâu tốn nhiều thời gian, quá sức và phức tạp không? Đó không phải là trường hợp Tất cả những gì bạn cần để thành thạo thị giác máy tính và học sâu là nhờ ai đó giải thích mọi thứ cho bạn bằng các thuật ngữ đơn giản, trực quan. Và đó chính xác là những gì tôi làm. Nhiệm vụ của tôi là thay đổi giáo dục và cách dạy các chủ đề Trí tuệ nhân tạo phức tạp Nếu bạn nghiêm túc về việc học thị giác máy tính, điểm dừng chân tiếp theo của bạn phải là Đại học PyImageSearch, khóa học trực tuyến về thị giác máy tính, học sâu và OpenCV toàn diện nhất hiện nay. Tại đây, bạn sẽ học cách áp dụng thành công và tự tin tầm nhìn máy tính vào công việc, nghiên cứu và dự án của mình. Tham gia cùng tôi trong việc làm chủ thị giác máy tính Bên trong Đại học PyImageSearch, bạn sẽ tìm thấy
Nhấn vào đây để tham gia Đại học PyImageSearch Bản tóm tắtTrong hướng dẫn này, bạn đã học cách tải hình ảnh bằng OpenCV và hàm $ pip install opencv-contrib-python0 Chúng tôi đã tạo một tập lệnh Python để
OpenCV xử lý thuận tiện việc đọc và ghi nhiều định dạng tệp hình ảnh (e. g. , JPG, PNG, TIFF). Thư viện cũng đơn giản hóa việc hiển thị hình ảnh trên màn hình và cho phép người dùng tương tác với cửa sổ đã mở Nếu OpenCV không thể đọc một hình ảnh, bạn nên kiểm tra cẩn thận xem tên tệp đầu vào đã được cung cấp chính xác hay chưa, vì hàm $ pip install opencv-contrib-python0 trả về một đối tượng Python $ pip install opencv-contrib-python4 khi lỗi. Chức năng sẽ thất bại nếu tệp không tồn tại hoặc nếu định dạng hình ảnh không được OpenCV hỗ trợ Chúng tôi cũng đã in kích thước hình ảnh tới thiết bị đầu cuối (chiều rộng, chiều cao và số lượng kênh), dựa trên các giá trị của hình dạng mảng NumPy bên dưới. Sau đó, tập lệnh của chúng tôi đã lưu hình ảnh vào đĩa bằng định dạng JPG, tận dụng khả năng của OpenCV để tự động chuyển đổi hình ảnh sang loại tệp mong muốn Trong hướng dẫn tiếp theo của loạt bài này, bạn sẽ tìm hiểu về các khái niệm cơ bản về ảnh OpenCV, bao gồm pixel là gì, tổng quan về hệ tọa độ ảnh và cách truy cập các giá trị pixel riêng lẻ Để tải mã nguồn về bài đăng này (và được thông báo khi các hướng dẫn trong tương lai được xuất bản tại đây trên PyImageSearch), chỉ cần nhập địa chỉ email của bạn vào biểu mẫu bên dưới Tải xuống Mã nguồn và Hướng dẫn tài nguyên 17 trang MIỄN PHÍNhập địa chỉ email của bạn dưới đây để có được một. zip của mã và Hướng dẫn tài nguyên 17 trang MIỄN PHÍ về Thị giác máy tính, OpenCV và Học sâu. Bên trong, bạn sẽ tìm thấy các hướng dẫn, sách, khóa học và thư viện được chọn lọc thủ công của tôi để giúp bạn thành thạo CV và DL |