簡體   English   中英

無法將System.Drawing.Image轉換為EmguCV

[英]Cannot convert System.Drawing.Image to EmguCV

目前,我正在嘗試從數據庫中獲取我的面部圖像,但我無法獲取它。 俗話說我不能將System.Drawing.Image轉換為EmguCV Gray Byte。 我能知道我的錯誤是什么嗎? 這是我第一次使用EmguCV。

 //Eigen face recognizer
 EigenObjectRecognizer recognizer = new 
 GetFaceFromDB(), //database
 labels.ToArray(), //facename list
 3000,
 ref termCrit);

 name = recognizer.Recognize(result);

這是我的數據庫代碼:

private Image GetFaceFromDB()
    {
        Image FetchImg;
        if (rowNumber >= 0)
        {
            byte[] FetchImgBytes = ((byte[])TSTable.Rows[rowNumber]["FaceImage"]);
            System.IO.MemoryStream stream = new System.IO.MemoryStream(FetchImgBytes);
            FetchImg = Image.FromStream(stream);
            return FetchImg;
        }
        else
        {
            MessageBox.Show("No Image yet. Add image into database");
            return null;
        }
    }

謝謝。

問題是轉換。

如果您正在使用這樣的圖像

Image<Gray,Byte> image = new Image<Gray,Byte> 

像這樣初始化,然后您需要調用image.Bitmap以獲得System.Drawing.Image

如果您嘗試反向操作,則應調用這樣的名稱

Image<Gray, Byte> image = new Image<Gray, Byte>(BitmapImage); 

然后,您的代碼應該可以正常工作。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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