我正在用我的相机拍照,当调用 OnPictureTaken 时,我得到一个字节 [] 数据。我正在尝试将字节数组转换为 System.IO.Stream。这有助于我分析 Project Oxford API 中的图像。我已经尝试过无数种方法来做到这一点,但似乎我找不到解决方案。如果您能帮助我,我将不胜感激。
问问题
1203 次
2 回答
2
您可以使用MemoryStream
该类,该类创建由字节数组支持的流:MSDN 链接
于 2016-06-22T18:32:02.913 回答
0
使用客户端 SDK时,您可以通过NuGet获得,您需要提供一个Stream
to 方法,例如VisionServiceClient.AnalyzeImageAsync()
.
您可以创建一个Stream
outbyte[]
并将其提供给 SDK,如下所示:
using (var stream = new MemoryStream(yourByteArray))
{
var visionServiceClient = new VisionServiceClient("YOUR_API_KEY");
var visualFeatures = new VisualFeature[] { VisualFeature.Adult, VisualFeature.Categories, VisualFeature.Color, VisualFeature.Description, VisualFeature.Faces, VisualFeature.ImageType, VisualFeature.Tags };
var result = await visionServiceClient.AnalyzeImageAsync(stream, visualFeatures);
}
提示:在 Android 中,您Android.Graphics.Bitmap
在处理图像时经常会得到一个对象。尤其是在用相机拍照的时候。您也可以使用 将它们转换为流,imageBitmap.Compress(Bitmap.CompressFormat.Jpeg, 0, stream);
但不要忘记使用 来“倒带”流stream.Seek(0, SeekOrigin.Begin);
,否则 SDK 会抛出异常。
于 2016-06-22T20:29:11.530 回答