[英]Image as byte array to Stream
我正在用相機拍照,當調用OnPictureTaken時,我得到了byte []數據。 我試圖將字節數組轉換為System.IO.Stream。 這有助於我分析Project Oxford API中的圖像。 我已經嘗試了無數種方法來執行此操作,但似乎找不到解決方案。 如果您能幫助我,我將不勝感激。
您可以使用MemoryStream
類,該類創建由字節數組支持的流: MSDN鏈接
使用Client SDK時 (可以通過NuGet獲得),您需要向VisionServiceClient.AnalyzeImageAsync()
類的方法提供Stream
。
您可以使用byte[]
創建一個Stream
然后將其提供給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);
將它們轉換為流imageBitmap.Compress(Bitmap.CompressFormat.Jpeg, 0, stream);
但不要忘記使用stream.Seek(0, SeekOrigin.Begin);
“倒回”該流stream.Seek(0, SeekOrigin.Begin);
,否則SDK會引發異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.