我在导入skimage.color
模块时遇到问题。虽然我可以从python shell导入并调用skimage.color.rgb2gray
,但我无法从我的应用程序中执行相同的操作。
我在我的电脑上检查了skimage
个lib位置。他们似乎都很好。但是当我试着打电话给skimage.color时。从我的代码,它总是给我这个
Traceback (most recent call last):
File "main-video2.py", line 44, in <module>
image = color.rgb2gray(image)
我像这样检查了模块
username@ubuntu:~/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'>
任何人都可以帮助我理解为什么我能够从shell调用它而不是从我的代码调用它?
答案 0 :(得分:3)
我认为您的PC上没有安装其他库。检查THIS PAGE并验证您是否具有运行时应用程序所需的库。
出现此错误的原因是因为尽管skimage
包可能存在且可用(在python shell中),但如果没有其他提到的包的支持,您将无法运行任何应用程序,如:{{1} },matplotlib
,scipy
,pil
和numpy
。
访问链接以安装/更新所需的软件包。
如果您仍有问题,请发表评论。 :)
答案 1 :(得分: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)
答案 2 :(得分:0)
如果您正在使用anaconda,则重新启动内核有助于解决该问题。该错误是由于func getCategorByAPI()
{
//Base Url is from an static variable
let url = URL(string: URLManager.aPIBaseURL+"category")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
let boundary = "Boundary-\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
let task = URLSession.shared.dataTask(with: request as URLRequest) {
data, response, error in
if error != nil {
//print("error=\(error)")
return
}
do {
let json = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary
print(json)
}catch
{
print(error)
}
}
task.resume()
}
软件包本身内部的循环导入引起的。
在常规代码中,尝试skimage.color
。为我节省了大量时间More on the subject