dbe*_*rga 9 python opencv matplotlib imshow
我试图使用matplotlib.pyplot中的imshow函数,它可以很好地显示灰度图像.当我试图表示rgb图像时,它会改变颜色,显示更蓝色的颜色.
看一个例子:
import cv2
import matplotlib.pyplot as plt
lena=cv2.imread("lena.jpg")
plt.imshow(lena)
plt.show()
Run Code Online (Sandbox Code Playgroud)
生成的图像是这样的
虽然原始图像是这样的
如果它是与colormap相关的东西,有什么方法可以使它与rgb图像一起使用?
AGN*_*zer 12
这对我有用:
plt.imshow(lena[:,:,::-1]) # RGB-> BGR
Run Code Online (Sandbox Code Playgroud)
同样的想法,但更好,更健壮的方法是使用@rayryeng提出的"省略号":
plt.imshow(lena[...,::-1])
Run Code Online (Sandbox Code Playgroud)
小智 11
OpenCV代表BGR中的图像,而不是我们期望的RGB.由于它的顺序相反,您往往会在图像中看到蓝色.尝试使用以下行(代码中的注释)从BGR转换为RGB:
import cv2
import matplotlib.pyplot as plt
lena=cv2.imread("lena.jpg")
#plt.imshow(lena)
#plt.axis("off")
#Converts from BGR to RGB
plt.imshow(cv2.cvtColor(lena, cv2.COLOR_BGR2RGB))
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4829 次 |
| 最近记录: |