国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python使用matplotlib顯示圖像失真的解決方案

瀏覽:2日期:2022-06-21 13:45:46

在python顯示圖象時,我們用matplotlib模塊時會遇到圖像色彩失真問題,究竟是什么原因呢,下面就來看看究竟。

待顯示圖像為:

python使用matplotlib顯示圖像失真的解決方案

import cv2from matplotlib import pyplot as pltimg = cv2.imread(’demo_2.jpg’,0)plt.imshow(img, cmap = ’gray’, interpolation = ’bicubic’)plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axisplt.show()上面簡單的代碼運行結果為:

python使用matplotlib顯示圖像失真的解決方案

我們發現這個圖像雖然顯示出來了,但是與原圖像在顏色上的差距還是挺大的,本來一個白胖小子被顯示地陰陽怪氣的,這肯定不像話了。那么我們要怎么讓這個白胖小子用matplotlib模塊完美地顯示出來呢。

請看代碼:

import cv2from matplotlib import pyplot as pltimg = cv2.imread(’demo_2.jpg’, cv2.IMREAD_ANYCOLOR)b,g,r = cv2.split(img)img2 = cv2.merge([r, g, b])plt.subplot(121)plt.imshow(img, cmap = ’gray’, interpolation = ’bicubic’)plt.xticks([])plt.yticks([])plt.subplot(122)plt.imshow(img2, cmap = ’gray’, interpolation = ’bicubic’)plt.xticks([])plt.yticks([])plt.show()上述代碼運行結果如下:

python使用matplotlib顯示圖像失真的解決方案

我們通過代碼可以發現,只要將通道按照bgr的順序組合,圖片就可以不失真地顯示出來了,這樣我們就明白了上述圖片失真地原因和解決失真的方法。

補充:python plot圖片失真的問題(避免type font 3字體的出現)

使用python畫圖時,開始直接使用png保存,沒想到圖片里會默認使用type font 3的字體,導致圖片放入latex編譯后,圖片一放大就不清晰。

于是尋找了好多修改圖片設置的解決方法

即,加入以下三行:

# Switch to Type 1 Fonts. matplotlib.rcParams[’ps.useafm’] = Truematplotlib.rcParams[’pdf.use14corefonts’] = Truematplotlib.rcParams[’text.usetex’] = True

但是我的問題還是沒解決…

以上的設置是需要的,只是我輸出的圖片以png形式保存導致。所以,最后,我另替換了畫圖的操作以及加了一些包,即,

import matplotlibmatplotlib.use(’PDF’)import matplotlib.pyplot as pltfrom matplotlib.backends.backend_pdf import PdfPagesplt.savefig(’tmp.pdf’, bbox_inches=’tight’)

圖片以pdf輸出,最后輸出的圖片就不會有type 3 font的問題啦,也就是圖片不管放多大,都可以很清楚!

所以,使用python保存實驗結果時,優選 PDF。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 洛浦县| 卢氏县| 定安县| 壤塘县| 会理县| 十堰市| 深州市| 大英县| 博兴县| 乐亭县| 双鸭山市| 海城市| 民县| 邻水| 夏邑县| 普定县| 平泉县| 汤原县| 烟台市| 密云县| 宝鸡市| 股票| 二连浩特市| 桑日县| 德兴市| 寿阳县| 牙克石市| 湘西| 余干县| 池州市| 通化县| 焉耆| 从化市| 措美县| 吉安市| 金寨县| 刚察县| 宜州市| 偃师市| 兴仁县| 大城县|