GuidedFilter(導向濾波)


C++原型

void __stdcall GuidedFilter(unsigned char *Src, unsigned char *Guide, unsigned char *Dest, int Width, int Height, int Stride, int Radius, float eps)

C#聲明:

[DllImport("ImageProcessing.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, ExactSpelling = true)]
internal static extern void GuidedFilter(byte* Src, byte* Guide, byte* Dest, int Width, int Height, int Stride, int Radius, float eps);

VB.NET聲明:

<DllImport("ImageProcessing.dll", CallingConvention := CallingConvention.StdCall, CharSet := CharSet.Unicode, ExactSpelling := True)> _
Friend Shared Sub GuidedFilter(ByVal Src As IntPtr, ByVal Dest As IntPtr, ByVal Width As Integer, ByVal Height As Integer, ByVal Stride As Integer, ByVal Radius As Integer, Byval eps as Single) 
End Sub

VB6.0聲明:

Private Declare Sub GuidedFilter Lib "ImageProcessing" (ByVal Src As Long, ByVal Dest As Long, ByVal Width As Long, ByVal Height As Long, ByVal StrideAs Long, ByVal Radius As Long, Byval eps as Single)

函數說明:

/// <summary>
/// 實現快速的引導濾波,基於<Guided Image Filtering>一文,2014.9.27日整理
/// </summary>
/// <param name="Src">圖像數據部分在內存中的地址。</param>
/// <param name="Guide">引導圖的數據在內存中的地址,必須和原圖具有相同的格式和大小,也可以直接用原圖。</param>
/// <param name="Dest">保存處理后的結果的圖像數據在內存中的地址,必須和原圖具有相同的格式和大小。</param>
/// <param name="Width">圖像的寬度。</param>
/// <param name="Height">圖像的高度。</param>
/// <param name="Stride">圖像的掃描行大小。</param>
/// <param name="Radius">控制均值模糊的半徑。</param>
/// <param name="eps">防止除法部分的溢出,一般可取0.01。</param>
/// <remarks> 1、程序的執行時間和算法的參數無關。 </remarks>
///  <remarks> 2、Src和Dest可以相同,相同和不同時執行速度無區別。</remarks>
/// <remarks> 3、由於方框模糊部分采用了並行編程,因此24位圖像處理時沒有用並行了,實際的測試表明兩者無明顯區別。</remarks>

算法效果:

    

      

        

          原圖                             導向圖                        結果圖

處理速度:

  I3  M380 2.53GHZ 筆記本上測試:1000 * 1000 彩色像素,用時200ms(時間是於參數無關的)。

代碼情況:

     本代碼是基於論文Guided Image Filtering提供的算法編寫優化的,其matlab代碼可以從相關的網站上下載到。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM