2014-02-27 72 views
0

一個良好的成像SDK的Windows手機IM搜索圖像處理...Windows Phone的

我試圖用諾基亞SDK,但它並沒有爲我工作,但一直顯示爲例外:

「由於目標的當前狀態,操作無效」。

這裏是我的測試代碼:

的processImage來方法用於應用在圖像上的過濾器。

private async void processImage() 
     { 
      WriteableBitmap writeableBitmap = new WriteableBitmap((int)bitmapImage.PixelWidth, (int)bitmapImage.PixelHeight);    
      try 
      { 
       using (var imageStream = new StreamImageSource(photoStream)) 
       { 
        // Applying the custom filter effect to the image stream 
        using (var customEffect = new NegateFilter(imageStream)) 
        { 
         // Rendering the resulting image to a WriteableBitmap 
         using (var renderer = new WriteableBitmapRenderer(customEffect, writeableBitmap)) 
         { 
          // Applying the WriteableBitmap to our xaml image control 
          await renderer.RenderAsync(); 
          imageGrid.Source = writeableBitmap; 
         } 
        } 
       } 
      } 
      catch (Exception exc) { MessageBox.Show(exc.Message + exc.StackTrace, exc.Source, MessageBoxButton.OK); } 
     } 

這是NegateFilter類:

namespace ImagingTest 
{ 
    class NegateFilter : CustomEffectBase 
    { 
     public NegateFilter(IImageProvider source) : base(source){} 

     protected override void OnProcess(PixelRegion sourcePixelRegion, PixelRegion targetPixelRegion) 
     { 
      sourcePixelRegion.ForEachRow((index, width, pos) => 
      { 
       for (int x = 0; x < width; ++x, ++index) 
       {    
        targetPixelRegion.ImagePixels[index] = 255 - sourcePixelRegion.ImagePixels[index]; 
       } 
      }); 
     } 

    } 
} 

一個良好的成像SDK的任何想法?像ImageJ的基於java例如,或者OpenCV的.. 我會更好地使用諾基亞SDK ..

THX :)

回答

0

我看了你的代碼,並做了一個快速測試。當我確信 代碼工作得很好,該bitmapImage.PixelWidth和bitmapImage.PixelHeight> 0

我沒有得到,並在屏幕上的圖像,但是當我刪除您的自定義過濾器的圖像顯示。 我希望你會繼續使用SDK,因爲它是一個很棒的產品。

0

emguCV呢?

我還沒有嘗試它,但看起來像是可能與手機的相機。