是否可以从Python脚本模块中从Azure存储帐户导入图像,而不是使用Azure ML Studio提供的导入图像模块。理想情况下,我希望使用cv2.imread()。我只想读取灰度数据,但Import Images模块读取的是RGB。我可以像从外部BlockBlobService脚本调用它一样使用Python库吗?
发布于 2017-02-07 12:05:03
是的,你应该能够使用Python做到这一点。至少,直接的REST调用应该是有效的。
发布于 2017-02-09 17:55:23
根据我的理解,我认为您希望通过python-opencv2的cv2.imread方法获取来自Azure Blob Storage的图像的灰度数据。
我尝试使用azure-storage==0.20.3包来编写一个python脚本。下面是我的示例代码。
from azure.storage.blob import BlobService
import numpy
import cv2
service = BlobService(account_name='<your storage account name>', account_key='<your storage account key>')
blob = service.get_blob_to_bytes('mycontainer', 'test.jpg')
print type(blob)
np_array = numpy.fromstring(blob, numpy.uint8)
print np_array
img = cv2.imdecode(np_array, cv2.CV_LOAD_IMAGE_COLOR)如果使用最新的azure-storage包,请确保使用如下代码。
from azure.storage.blob import BlockBlobService
service = BlockBlobService(account_name='<your storage account name>', account_key='<your storage account key>')上面的代码在本地环境下工作得很好,但它不能作为Azure ML Studio的Experiments上的Execute Python Script模块工作,因为缺少必需的Python包azure-storage和cv2。然后我尝试按照文档Adding Python Script as a Custom Resource添加这些包,但失败了,我意识到python-opencv2包依赖于C本地库opencv2。
根据我的经验,我认为简单的解决方法是使用dataframe OpenCV Library Modules**.**的OpenCV Library Modules**.**模块中的中的RGB数据来计算灰度数据
希望能有所帮助。
https://stackoverflow.com/questions/42081202
复制相似问题