繁体   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