簡體   English   中英

我正在使用 cv2.imread() 讀取圖像,並將其轉換為灰度。 但是為什么我顯示它時它不是灰度的?

[英]I am reading an image with cv2.imread(), and converting it to grayscale. However why is it not in grayscale when I display it?

我去閱讀了 cv2.imread() 方法的語法,它說指定 flag=0 將加載灰度圖像。

原圖是這樣的:

原圖

我使用以下庫執行了以下代碼,沒有錯誤。

import cv2 import pytesseract import matplotlib import image

img=cv2.imread("C:/Users/HP_Demo/Desktop/cv2/sample02.png",0)

plt.imshow(img)

plt.show()

結果是這樣的:結果圖像

我真的不知道,但嘗試使用它: cv2.imread("path", cv2.IMREAD_GRAYSCALE).

附注。 最好使用sys.path.join()而不是 raw /

import cv2 

img=cv2.imread("colorful.png",1)
cv2.imshow("",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

結果:

豐富多彩的

import cv2 

img=cv2.imread("colorful.png",0) # same image changed the 1 to 0
cv2.imshow("",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

結果:

灰灰

結論

正如我在評論中所說,您使用的圖像可能導致無灰度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM