0
我正在用python做一些計算機視覺,所以我使用opencv和matplotlib。我想切換到matplotlib查看圖像,但我發現圖像質量低於OpenCV imshow
也沒有顯示圖像與正確的尺寸在屏幕上它們都是相同的大小。Matplotlib imshow與OpenCV相比質量低
這是我如何使用
img = cv2.imread('a.png',0)
f = plt.figure(figsize=(img.shape[1],img.shape[0]), dpi=1)
plt.axes([0,0,1,1])
plt.axis('false')
plt.imshow(img,cmap="gray",interpolation=None)
我與插值不同的值嘗試,但仍比OpenCV的質量非常低時,那裏顯示的圖像質量更好?
同樣在打印時,我得到的是與opencv寫入方法不同的低質量。
那麼'dpi = 1'會使每英寸1個像素,所以我可以使用圖像像素作爲圖像大小,因爲現在像素=英寸,所以至少當我顯示圖像時我不認爲dpi與任何圖像有關圖像的質量(可能是寫在軸上的文字等)。無論如何,我發現製作'interpolation ='none''而不是'None'的質量要好得多。而且我可以通過使用figaspect(img)'來根據當前dpi的圖像大小獲取英寸,並且同時我仍然可以正確顯示文本,從而繞過'dpi = 1'的操作。 –