2016-11-26 77 views
0

我在导入skimage.color模块时遇到问题。虽然我可以从python shell导入并调用skimage.color.rgb2gray,但是我无法从我的应用程序执行相同的操作。skimage.color.rgb2gray导入问题

我在我的电脑上检查了skimage lib地方。他们似乎都很好。但是当我尝试调用skimage.color时。从我的代码它总是给我这个

Traceback (most recent call last): 
File "main-video2.py", line 44, in <module> 
image = color.rgb2gray(image) 

我检查了这样

[email protected]:~/dev/computer_vision$ python 
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 
KeyboardInterrupt 
>>> from skimage import color 
>>> color 
<module 'skimage.color' from '/usr/local/lib/python2.7/dist-packages/skimage/color/__init__.pyc'> 

任何人的模块可以帮助我理解为什么会同时我能够从外壳调用它的原因,但不是从我的代码?

+0

我认为这可能不是模块的错 - 你能把你的代码放在问题中吗? (另外,如果你想知道这个错误是否是由于模块导入不正确导致的,那么在你的'image = color.rgb2gray(image)''后面会出现'ImportError') – Jerrybibo

回答

1

我认为您没有在PC上安装其他库。检查THIS PAGE并验证您是否具有运行时应用程序所需的必需库。

原因这个错误是因为虽然skimage包可能存在和可用的(在Python Shell),你将不能够没有像支持其他提到的软件包运行任何应用程序:matplotlibscipypilnumpysix

访问链接以安装/更新所需的软件包。

如果您还有问题,请留下评论。 :)

+0

谢谢@Jeru Luke的帮助。就像你说的,我刚才解决了这个问题。但忘了在这里更新。重新安装'skimage'解决了我的问题。 – enterbutton

+0

@enterbutton另外,在sansingh已经回答的情况下,如果你同时在OpenCV中开始编码也是很好的 –

1

我有替代品。您可以使用以下代码将rgb图像转换为灰色:

# libraries 
import cv2 
import Image 

# reading an image 
image = cv2.imread(path_to_image) 

# converting into gray image 
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# saving image 
Image.fromarray(gray_image).save(save_path) 
+0

谢谢@sansingh,但是因为我在工作与我的项目的其他部分的skimage。我不喜欢使用opencv – enterbutton