Khi chúng ta đối mặt với dự án thị giác máy tính, trước hết chúng ta cần tải hình ảnh trước bất kỳ quá trình tiền xử lý nào Show Có nhiều thư viện khác nhau để thực hiện
Có bốn thư viện thường được sử dụng để tải hình ảnh
import matplotlib.pyplot as pltimg = plt.imread(img_dir) import cv2img = cv2.imread(img_dir) from PIL import Imageimg = Image.open(img_dir) from skimage import ioimg = io.imread(img_dir)Kênh màu Sau khi tải hình ảnh, thường sẽ sử dụng import cv2img = cv2.imread(img_dir)2 để vẽ hình ảnh. Hãy âm mưu một số doge Bạn có thể nhận ra rằng hình ảnh OpenCV ở trên có vẻ kỳ lạ. Đó là bởi vì matplotlib, PIL và Skiage đại diện cho hình ảnh theo thứ tự RGB (Đỏ, Xanh lục, Xanh lam), trong khi OpenCV theo thứ tự ngược lại. (BGR — Xanh lam, Xanh lục, Đỏ) Sửa chữa dễ dàngChỉ cần chuyển đổi hình ảnh từ BGR sang RGB bằng cách sử dụng import cv2img = cv2.imread(img_dir)3 trước khi vẽ sơ đồ bằng cách sử dụng import cv2img = cv2.imread(img_dir)4Từ màu xanh sang màu vàng doge______9_______Hiệu quả Vì vậy, bạn có thể hỏi cái nào là thư viện hiệu quả nhất trong việc tải hình ảnh. Ở đây một chức năng được xác định để theo dõi thời gian import time Kết quả như sau +------------+--------------+---------+ Gối — import cv2img = cv2.imread(img_dir)5dường như hiệu quả nhất dựa trên kết quả. Để nghiên cứu thêm, chúng ta có thể quay lại mã nguồn để tìm hiểu thêm về sự khác biệtcheatsheet Tôi đã kết hợp các thông tin trên vào Jupyter Notebook. Vui lòng tải xuống cheatsheet và viết mã vui vẻ Vì vậy, tôi sẽ giải thích cú pháp của Hướng dẫn có một số phần và nếu bạn cần một cái gì đó cụ thể, bạn có thể nhấp vào liên kết thích hợp Mục lục Được rồi. Bắt đầu nào Giới thiệu nhanh về Chức năng imread SkimageNếu bạn đang xử lý hình ảnh bằng Python, thì điều đầu tiên bạn cần làm là tải hình ảnh vào môi trường lập trình của mình Trong Python, có một số bộ công cụ có thể giúp bạn làm điều này. Nhưng nếu bạn đang xử lý hình ảnh của mình trong bối cảnh khoa học dữ liệu và học máy, thì một trong những bộ công cụ tốt nhất để thực hiện việc này là gói Skimage Cụ thể, bạn có thể sử dụng chức năng imread Skimage để đọc hình ảnh từ các tệp trên máy tính của mình, thành một biểu mẫu có thể sử dụng được trong chương trình Python Hàm Skimage imread sử dụng khá đơn giản, tuy nhiên để sử dụng đúng cách thì bạn cần nắm rõ cú pháp. Trong trường hợp đó, chúng ta hãy xem cú pháp của hàm Cú pháp đọc lướt. io. imreadBây giờ tôi đã cung cấp cho bạn tổng quan cấp cao về chức năng của hàm imread, chúng ta hãy xem cú pháp Hàm imread là một phần của không gian tên Hãy nhanh chóng thảo luận về một số chi tiết của chức năng Đầu vào để đọc lướt. io. imreadTrong phần giải thích cú pháp ở trên, bạn sẽ nhận thấy một đầu vào bên trong dấu ngoặc đơn Trong phần giải thích đó, tôi đã gọi đầu vào là “ import plotly.express as px import skimage.io1“ Về định dạng, đây phải là một tệp hình ảnh giống như tệp import plotly.express as px import skimage.io2 Cụ thể hơn, bạn nên trình bày tên file dưới dạng chuỗi, bao gồm cả đường dẫn đến file ảnh Vì vậy, ví dụ: nếu tệp của bạn có tên là import plotly.express as px import skimage.io3 và hình ảnh nằm trong một thư mục trên máy tính của bạn, import plotly.express as px import skimage.io4, thì bạn có thể gọi hàm là
Lưu ý rằng đường dẫn đầy đủ và tên của tệp được đặt bên trong dấu ngoặc kép Nếu tệp tồn tại ở một URL trên internet, bạn cũng có thể cung cấp đường dẫn URL đầy đủ và tên tệp (đính kèm bên trong dấu ngoặc kép). Nó cũng sẽ hoạt động theo cách đó. Tôi sẽ cho bạn thấy một ví dụ về điều này thông số bổ sungHàm này cũng có một vài tham số tùy chọn mà bạn có thể sử dụng để sửa đổi cách hoạt động của hàm as_grayTham số import plotly.express as px import skimage.io5 cho phép bạn chuyển đổi hình ảnh sang thang độ xám Đối số cho tham số này sẽ là một giá trị boolean import plotly.express as px import skimage.io6 hoặc import plotly.express as px import skimage.io7 Nếu import plotly.express as px import skimage.io8, nó sẽ chuyển đổi hình ảnh thành thang độ xám Tham số này là tùy chọn Hình ảnh đã có trong thang độ xám sẽ không bị ảnh hưởng khi sử dụng tham số này cắm vàoTham số import plotly.express as px import skimage.io9 cho phép bạn chỉ định plugin sẽ sử dụng Chúng tôi sẽ không đề cập đến việc sử dụng tham số này trong hướng dẫn này Đầu ra của đọc lướt. io. imreadĐầu ra của Kích thước của đầu ra phụ thuộc vào bảng màu được sử dụng trong hình ảnh Nếu hình ảnh có thang độ xám, thì đầu ra sẽ là một mảng M x N (M hàng và N cột) Nếu hình ảnh sử dụng màu RGB thì đầu ra sẽ là M x N x 3. Chiều thứ ba này sẽ chứa dữ liệu kênh màu RGB Nếu hình ảnh sử dụng màu RGBA, thì đầu ra sẽ là M x N x 4. Chiều thứ ba này sẽ chứa dữ liệu kênh màu RGBA Nếu bạn bối rối về mảng Numpy, bạn nên cân nhắc đăng ký khóa học của chúng tôi, Numpy Mastery. Nó giải thích mọi thứ bạn cần biết về Numpy ví dụ. cách nhập ảnh bằng Skimage imreadBây giờ chúng ta đã xem xét cú pháp của sklearn. io. đọc xong, hãy xem một số ví dụ về cách nhập hình ảnh vào Python ví dụ Chạy mã này trướcTrước khi chạy các ví dụ, bạn sẽ cần nhập một số gói và chạy một số mã sơ bộ gói nhập khẩuĐầu tiên chúng ta cần nhập một vài gói Python import plotly.express as px import skimage.io Rõ ràng là chúng ta cần import plotly.io as pio pio.renderers.default = 'svg'1 để chạy hàm import plotly.io as pio pio.renderers.default = 'svg'2 Chúng tôi cũng sẽ sử dụng import plotly.io as pio pio.renderers.default = 'svg'3 để thực sự trực quan hóa hình ảnh sau khi chúng tôi đã tải xong Nếu bạn không có các gói này trên máy tính của mình, thì trước tiên bạn cần cài đặt chúng Những ngày này, tôi cài đặt gần như tất cả các gói Python của mình qua Anaconda. Bạn có thể tham khảo thêm thông tin về cài đặt Skiage qua Anaconda tại đây. Và bạn có thể nhận thông tin về cài đặt Plotly tại đây Thiết lập kết xuất hình ảnhTheo mặc định, Plotly được thiết lập để hiển thị hình ảnh trong cửa sổ trình duyệt Vì vậy, nếu bạn đang sử dụng IDE (Môi trường phát triển tích hợp) như Spyder, bạn sẽ cần thiết lập nó để hiển thị các ô từ Plotly. (Mình dùng Spyder nên cần tự làm bước này. ) Ghi chú. nếu bạn đang sử dụng Jupyter, bạn có thể bỏ qua mã này Để thiết lập Plotly để hiển thị trực tiếp các ô của bạn trong IDE, bạn có thể chạy đoạn mã sau import plotly.io as pio pio.renderers.default = 'svg' VÍ DỤ 1. Tải một hình ảnh với sklearn. io. imreadỞ đây, chúng tôi sẽ tải một tệp hình ảnh bằng Skimage imread và chúng tôi sẽ vẽ nó bằng Plotly Tệp nằm trong một thư mục tại https. //www. phòng thí nghiệm sắc nét. com/bộ dữ liệu/hình ảnh/ Đây là mã để đọc nó trong skimage.io.imread('https://www.sharpsightlabs.com/datasets/images/Lamborghini_Aventador_2018.jpg') NGOÀI array([[[ 59, 58, 54], [ 56, 58, 55], [ 56, 58, 55], ..., [ 36, 37, 39], [ 35, 39, 38], [ 31, 37, 33]], [[ 56, 57, 51], [ 55, 56, 51], [ 53, 53, 51], ..., [ 39, 41, 38], [ 39, 41, 38], [ 36, 41, 35]], [[ 54, 55, 50], [ 54, 55, 50], [ 55, 55, 53], ..., [ 35, 40, 34], [ 39, 41, 36], [ 39, 41, 36]], ..., [[255, 255, 255], [255, 255, 255], [255, 255, 255], ..., [251, 244, 252], [247, 241, 251], [247, 244, 253]], [[255, 255, 255], [255, 255, 255], [255, 255, 255], ..., [250, 242, 253], [248, 242, 252], [247, 246, 254]], [[255, 255, 255], [255, 255, 255], [255, 255, 255], ..., [249, 241, 252], [249, 243, 253], [248, 247, 255]]], dtype=uint8)Giải thích Ở đây, chúng tôi đã tải tệp có tên import plotly.express as px import skimage.io3. Tệp này tồn tại tại URL import plotly.io as pio pio.renderers.default = 'svg'5 Vì vậy, để tải tệp, chúng tôi đã gọi hàm và đối số của hàm là đường dẫn URL đầy đủ và tên tệp, được đặt trong dấu ngoặc kép Đầu ra là một mảng Numpy đa chiều Chúng ta có thể hình dung mảng này bằng cách sử dụng chức năng Plotly imshow. Hãy chạy lại mã một chút để làm điều đó Chúng ta có thể chèn hình ảnh bằng Python không?Có thể chèn một đối tượng hình ảnh vào một vị trí ô nhất định của trang tính với sự trợ giúp của phương thức insert_image() . Về cơ bản, bạn phải chỉ định vị trí của ô bằng cách sử dụng bất kỳ loại ký hiệu nào và hình ảnh sẽ được chèn vào.
Làm cách nào để cài đặt hình ảnh trong Python?PIL là tên viết tắt của Python Imaging Library và nó bổ sung tính năng xử lý ảnh cho Python. . xcode-select -install (Bạn sẽ được nhắc cài đặt Công cụ dòng lệnh Xcode) sudo easy_install pip sudo pip cài đặt gối gối cài đặt pip |