簡體   English   中英

圖像作為字節流流

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM