我正在使用 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() 方法的语法,它说指定标志=0 将加载灰度图像。
原图是这样的:
Original Image
并且我使用以下库执行了以下代码,没有错误。
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()
结果是这样的:
Result image
我真的不知道,但尝试使用它:cv2.imread("path", cv2.IMREAD_GRAYSCALE).
PS。并且最好使用 sys.path.join()
而不是原始 /
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()
结果:
结论
正如我在评论中所说,可能是您使用的图像导致无灰度。
我去阅读了 cv2.imread() 方法的语法,它说指定标志=0 将加载灰度图像。
原图是这样的:
Original Image
并且我使用以下库执行了以下代码,没有错误。
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()
结果是这样的: Result image
我真的不知道,但尝试使用它:cv2.imread("path", cv2.IMREAD_GRAYSCALE).
PS。并且最好使用 sys.path.join()
而不是原始 /
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()
结果:
结论
正如我在评论中所说,可能是您使用的图像导致无灰度。