Hướng dẫn convert image to grayscale python - chuyển đổi hình ảnh sang python màu xám
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]:
Làm cách nào để chuyển đổi hình ảnh thành thang độ xám?Thay đổi hình ảnh thành thang độ xám hoặc thành màu đen và trắng nhấp chuột phải hình ảnh mà bạn muốn thay đổi, sau đó nhấp vào Định dạng hình ảnh trên menu phím tắt.Nhấp vào tab Hình ảnh.Trong kiểm soát hình ảnh, trong danh sách màu, nhấp vào thang độ xám hoặc đen và trắng.Right-click the picture that you want to change, and then click Format Picture on the shortcut menu. Click the Picture tab. Under Image control, in the Color list, click Grayscale or Black and White.
Làm cách nào để chuyển đổi hình ảnh thành thang độ xám trong Python CV2?Bước 1: Nhập OpenCV.Step 2: Đọc hình ảnh gốc bằng cách sử dụng iMread (). Bước 3: Chuyển đổi sang độ xám bằng hàm cv2.cvtcolor (). Step 2: Read the original image using imread(). Step 3: Convert to grayscale using cv2. cvtcolor() function. |