Ano*_*oop 5 python opencv image-processing matplotlib
我正在尝试使用matplotlib进行基本操作,但我发现只要我尝试使用matplotlib显示图像,就会在图像中添加蓝色阴影.
例如,
码:
# import the necessary packages
import numpy as np
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("./data/images/cat_and_dog.jpg")
cv2.imshow('image',image) # Display the picture
plt.imshow(image)
plt.show()
cv2.waitKey(0) # wait for closing
cv2.destroyAllWindows() # Ok, destroy the window
Run Code Online (Sandbox Code Playgroud)
opencv gui和matplotlib显示的图像是不同的.
甚至直方图也会失真,而不仅仅是显示
如何避免图像上出现此蓝色阴影
Oph*_*rmi 11
请参阅:http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html#using-matplotlib
警告:OpenCV加载的彩色图像处于BGR模式.但Matplotlib以RGB模式显示.因此,如果使用OpenCV读取图像,则Matplotlib中的彩色图像将无法正确显示.有关详细信息,请参阅练习.
您可以plt.imshow(image)使用以下行替换您的行:
im2 = image.copy()
im2[:, :, 0] = image[:, :, 2]
im2[:, :, 2] = image[:, :, 0]
plt.imshow(im2)
Run Code Online (Sandbox Code Playgroud)