2012-08-09 105 views
0

您好我需要將一個非託管圖像轉換爲託管位圖圖像,我需要顯示在一個圖片框,但我似乎拋出一個異常說「對象引用未設置爲一個對象的實例」。有沒有人有關於它的想法?我評論了引發異常的行。如何將非託管圖像轉換爲託管位圖圖像?

for (int i = 0; i < characters.Length; i++) 
        { 
         area = characters[i].Area; 
         UnmanagedImage numer = characters[i].Image; 
         System.Drawing.Image plateImage = numer.ToManagedImage();//Exception 
         numberplate = new Bitmap(new Bitmap(plateImage)); 
         pictureBox2.Image = numberplate; 
         pictureBox2.Refresh();        
        } 

我使用Aforge.net框架,C#

UPDATE

for (int i = 0; i < characters.Length; i++) 
        { 
         area = characters[i].Area; 
         Bitmap numer = characters[i].Image.ToManagedImage(); 
         //System.Drawing.Image plateImage = numer.ToManagedImage(); 
         //numberplate = new Bitmap(new Bitmap(plateImage)); 
         pictureBox2.Image = numberplate; 
         pictureBox2.Refresh();        
        } 
+0

它表示'numer'爲空。 – logicnp 2012-08-09 08:34:14

+0

'characters'數組是什麼類型? – 2012-08-09 08:51:13

+0

根據[API文檔](http://www.aforgenet.com/framework/docs/html/2e7a1649-557d-d716-637d-29ec276603c8.htm),「Blob.Image」可能爲「null」,並且在這種情況下,您可以嘗試使用BlobCounter.ExtractBlobsImage重載。 – 2012-08-09 09:02:08

回答

3

嗨這段代碼我在Aforge.Net論壇上發現,它似乎工作。

     BlobCounterBase bc = new BlobCounter(); 
        bc.FilterBlobs = true; 
        bc.MinHeight = 5; 
        bc.MinWidth = 5; 

        bc.ProcessImage(numberplate); 
        Blob[] blobs = bc.GetObjectsInformation(); 
        MessageBox.Show(bc.ObjectsCount.ToString()); 
        for (int i = 0, n = blobs.Length; i < n; i++) 
        { 
         if (blobs.Length > 0) 
         { 

          bc.ExtractBlobsImage(numberplate, blobs[i], true); 

          Bitmap copy = blobs[i].Image.ToManagedImage(); 
          pictureBox2.Image = numberplate; 
          pictureBox2.Refresh(); 
         } 
        } 
0
Bitmap managedImage = numer.ToManagedImage(); 
+0

試過你的建議還是會拋出異常 – 2012-08-09 08:45:56

+0

什麼是字符?可能是它是managedImage列表...所以UnmanagedImage numer = characters [i] .Image;這可能不會創建任何對象。嘗試調試.. – perilbrain 2012-08-09 08:51:00

+0

我已經更新了代碼,它從我轉換到ManagedImage()的地方退出。字符數組是一個blob數組。 – 2012-08-09 08:55:56

相關問題