Hướng dẫn how do you convert an image to gray scale in python? - làm cách nào để bạn chuyển đổi hình ảnh thành thang màu xám trong python?
Tôi đang cố gắng sử dụng Show Trong Matlab, tôi sử dụng điều này:
Trong hướng dẫn matplotlib, họ không bao gồm nó. Họ chỉ đọc trong hình ảnh
Và sau đó họ cắt mảng, nhưng đó không giống với việc chuyển đổi RGB thành thang độ xám từ những gì tôi hiểu.
Tôi thấy khó tin rằng Numpy hoặc Matplotlib không có chức năng tích hợp để chuyển đổi từ RGB sang màu xám. Đây không phải là một hoạt động phổ biến trong xử lý hình ảnh? Tôi đã viết một chức năng rất đơn giản hoạt động với hình ảnh được nhập bằng Sebastian đã cải thiện chức năng của tôi, nhưng tôi vẫn hy vọng tìm thấy một trong những tích hợp. Thực hiện của Matlab (NTSC/PAL): Nội dung
Giới thiệuTrong hướng dẫn này, chúng tôi sẽ chỉ cho bạn nhiều cách mà bạn có thể chuyển đổi bất kỳ hình ảnh nào thành thang độ xám trong Python bằng cách sử dụng các thư viện khác nhau như Skimage, Gối và OpenCV. Mỗi cách sẽ được hiển thị với các ví dụ để dễ hiểu. Hình ảnh đầu vàoĐối với tất cả các ví dụ, hình ảnh con chó dưới đây sẽ được sử dụng làm đầu vào. 1Hình ảnh Scikit hoặc Skimage là gói nguồn mở dựa trên Python cho các thuật toán xử lý hình ảnh khác nhau. Bất kỳ hình ảnh màu nào cũng có thể được chuyển đổi thành thang độ xám với sự trợ giúp của hàm.rgb2gray () của skimage. Quảng cáo Trong ví dụ dưới đây, hình ảnh được đọc bằng io.imread () và sau đó nó được chuyển đổi thành thang độ xám với color.rgb2gray () và cuối cùng nó được hiển thị với io.imshow () Trong [0]: from skimage import color from skimage import io img = io.imread('dog.jpg') imgGray = color.rgb2gray(img) io.imshow(imgGray) Out[0]: 2. Chuyển đổi hình ảnh màu xám với gối (PIL) - Chuyển đổi ()Gối là một thư viện xử lý hình ảnh khác của Python có thể được sử dụng để chuyển đổi hình ảnh thành thang độ xám với hàm img.convert () của nó. Trong ví dụ này, hình ảnh được đọc với Image.open () và sau đó nó được chuyển đổi với Chuyển đổi () bằng cách truyền ‘L đấm làm tham số. Tham số ‘L, được sử dụng để chuyển đổi hình ảnh thành thang độ xám. Trong 1]: from PIL import Image img = Image.open('dog.jpg') imgGray = img.convert('L') imgGray.show() Out[1]: 3. Chuyển đổi hình ảnh màu xám với openCV - cv2.imread ()OpenCV là gói xử lý hình ảnh phổ biến nhất hiện có và có một vài cách để biến hình ảnh thành thang độ xám. Trong cách tiếp cận đầu tiên này, hình ảnh có thể được thay đổi thành thang độ xám trong khi đọc hình ảnh bằng cv2.Imread () bằng cách chuyển giá trị cờ là 0 cùng với tên tệp hình ảnh. In[2]: import cv2 # Convert to Grayscale img_gray=cv2.imread("dog.jpg",0) # To display Image window_name='Grayscale Conversion OpenCV' cv2.namedWindow(window_name, cv2.WINDOW_NORMAL) cv2.imshow(window_name,img_gray) cv2.waitKey(0) cv2.destroyAllWindows() Out[2]: 4. Chuyển đổi hình ảnh màu xám với openCV - cv2.cvtcolor ()Trong kỹ thuật tiếp theo, hình ảnh có thể được thay đổi thành thang độ xám với sự trợ giúp của cv2.cvtcolor () của mô -đun OpenCV được sử dụng để thay đổi không gian màu. Tham số được sử dụng với hàm này cho thang độ xám là color_bgr2gray như chúng ta có thể thấy trong ví dụ dưới đây. Trong 3]: import cv2 # Convert to Grayscale img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) # To display Image window_name='Grayscale Conversion OpenCV' cv2.namedWindow(window_name, cv2.WINDOW_NORMAL) cv2.imshow(window_name,img_gray) cv2.waitKey(0) cv2.destroyAllWindows() Out[3]:
|