[英]Unable to display image using matplotlib.pyplot on ipython project
我正在嘗試使用自己的目錄在github上運行FienSoP / canny_edge_detector代碼。 但是沒有顯示圖形,而是顯示圖形size()。
canny_Edge_Detector.ipynb
%matplotlib inline
from utils import utils
import canny_edge_detector as ced
imgs = utils.load_data('/Users/office/Mask_RCNN/office/images')
utils.visualize(imgs, 'gray')
<Figure size 1440x2880 with 0 Axes>
util.py
import numpy as np
import skimage
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import os
import scipy.misc as sm
import glob
def rgb2gray(rgb):
r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]
gray = 0.2989 * r + 0.5870 * g + 0.1140 * b
return gray
def load_data(dir_name):
imgs = []
data_path = os.path.join(dir_name,'*g')
files = glob.glob(data_path)
for filename in files:
img = mpimg.imread(filename)
img = rgb2gray(img)
imgs.append(img)
return imgs
def visualize(imgs, format=None, gray=False):
plt.figure(figsize=(20, 40))
for i, img in enumerate(imgs):
if img.shape[0] == 3:
img = img.transpose(1,2,0)
plt_idx = i+1
plt.subplot(len(imgs), 1, plt_idx)
plt.imshow(img, format)
plt.show()
既然,我是初學者,描述的答案將非常有幫助。 先感謝您。
需要在iPython %matplotlib inline
使用%matplotlib inline
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,2,3])
請參閱: 使用Matplotlib進行繪圖 。
復制字符串
'/Users/office/Mask_RCNN/office/images'
您直接從問題中提供的問題到python控制台中,結果如下:
'\xe2\x81\xa8/Users\xe2\x81\xa9/office\xe2\x81\xa9/Mask_RCNN\xe2\x81\xa9/office/images'
因此,您最初從中復制此字符串的源添加了一些零寬度字符,當您將該字符串粘貼到瀏覽器中時這些字符是不可見的,但會導致python在一個奇怪的位置查找數據。 這是一個相關的問題。
如果您手動重新輸入字符串(或在我的答案中復制並粘貼頂部的字符串),則應該沒問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.