最近調(diào)試程序的時候,發(fā)現(xiàn)要保存的圖片顏色與原圖片有色差(顯示圖像變藍),郁悶良久,終于發(fā)現(xiàn)問題,望諸君避坑。
??在用plt.imshow和cv2.imshow顯示同一幅圖時可能會出現(xiàn)顏色差別很大的現(xiàn)象。
??原因:opencv的接口使用BGR,而matplotlib.pyplot 則是RGB模式。
單獨使用圖像是正常的,聯(lián)合使用顯示是不正常的。
下面我們根據(jù)程序結(jié)合結(jié)果來看:
原圖:
1.程序源碼
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('road.jpg') # CV 讀取圖片
img2 = plt.imread('road.jpg') # plt 讀取圖片
img3 = cv.cvtColor(img, cv.COLOR_BGR2RGB) # CV BGR轉(zhuǎn)變RGB
img4 = cv.cvtColor(img2, cv.COLOR_BGR2RGB) # Plt BGR轉(zhuǎn)變RGB
# Plt
plt.imshow(img)
plt.savefig('cv_read_plt_show.jpg')
plt.show()
plt.imshow(img2)
plt.savefig('plt_read_plt_show.jpg')
plt.show()
plt.imshow(img3)
plt.savefig('cv_read_plt_show_BGR2RGB.jpg')
plt.show()
plt.imshow(img4)
plt.savefig('plt_read_plt_show_BGR2RGB.jpg')
plt.show()
# CV
cv.namedWindow("bgr_image", 0)
cv.resizeWindow("bgr_image", 512, 768)
cv.imshow('bgr_image', img)
cv.imwrite('cv_read_cv_show.jpg',img)
cv.namedWindow("rgb_image", 0);
cv.resizeWindow("rgb_image", 512, 768)
cv.imshow('rgb_image', img2)
cv.imwrite('plt_read_cv_show.jpg',img2)
cv.namedWindow("cv_read_BGR2RGB_image", 0);
cv.resizeWindow("cv_read_BGR2RGB_image", 512, 768)
cv.imshow('cv_read_BGR2RGB_image', img3)
cv.imwrite('cv_read_cv_show_BGR2RGB.jpg', img3)
cv.namedWindow("plt_read_BGR2RGB_image", 0);
cv.resizeWindow("plt_read_BGR2RGB_image", 512, 768)
cv.imshow('plt_read_BGR2RGB_image', img4)
cv.imwrite('plt_read_cv_show_BGR2RGB.jpg', img4)
# cv.waitKey(0)
# cv.destroyAllWindows()
2.程序運行結(jié)果如下:
2.1 Matplotlib顯示結(jié)果:
2.2.1 CV讀取BGR,顯示:
2.2.2 Matplotlib讀取RGB,顯示:
2.2.3 CV讀取BGR轉(zhuǎn)換為RGB,顯示:
2.2.4 plt讀取RGB,CV轉(zhuǎn)換為RGB,顯示:
2.2OpenCV顯示結(jié)果:
2.2.1 CV讀取BGR,顯示:
2.2.2 Matplotlib讀取RGB,顯示:
2.2.3 CV讀取BGR轉(zhuǎn)換為RGB,顯示:
文章來源:http://www.zghlxwxcb.cn/news/detail-501097.html
2.2.4 plt讀取RGB, CV轉(zhuǎn)換為RGB,顯示:
文章來源地址http://www.zghlxwxcb.cn/news/detail-501097.html
到了這里,關(guān)于python中圖片讀取和保存以及plt.imshow()與cv2.imshow()顯示圖像顏色錯誤解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!