NativeMethods_quality.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using System.Diagnostics.Contracts;
  2. using System.Runtime.InteropServices;
  3. #pragma warning disable 1591
  4. #pragma warning disable CA1401 // P/Invokes should not be visible
  5. #pragma warning disable CA2101 // Specify marshaling for P/Invoke string arguments
  6. #pragma warning disable IDE1006 // Naming style
  7. namespace OpenCvSharp.Internal;
  8. static partial class NativeMethods
  9. {
  10. #region QualityBase
  11. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  12. public static extern ExceptionStatus quality_QualityBase_compute(IntPtr obj, IntPtr img, out Scalar returnValue);
  13. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  14. public static extern ExceptionStatus quality_QualityBase_getQualityMap(IntPtr obj, IntPtr dst);
  15. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  16. public static extern ExceptionStatus quality_QualityBase_clear(IntPtr obj);
  17. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  18. public static extern ExceptionStatus quality_QualityBase_empty(IntPtr obj, out int returnValue);
  19. #endregion
  20. #region QualityPSNR
  21. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  22. public static extern ExceptionStatus quality_createQualityPSNR(IntPtr @ref, double maxPixelValue, out IntPtr returnValue);
  23. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  24. public static extern ExceptionStatus quality_Ptr_QualityPSNR_delete(IntPtr obj);
  25. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  26. public static extern ExceptionStatus quality_QualityPSNR_staticCompute(
  27. IntPtr @ref, IntPtr cmp, IntPtr qualityMap, double maxPixelValue, out Scalar returnValue);
  28. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  29. public static extern ExceptionStatus quality_QualityPSNR_getMaxPixelValue(IntPtr obj, out double returnValue);
  30. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  31. public static extern ExceptionStatus quality_QualityPSNR_setMaxPixelValue(IntPtr obj, double val);
  32. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  33. public static extern ExceptionStatus quality_Ptr_QualityPSNR_get(IntPtr ptr, out IntPtr returnValue);
  34. #endregion
  35. #region QualitySSIM
  36. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  37. public static extern ExceptionStatus quality_createQualitySSIM(IntPtr @ref, out IntPtr returnValue);
  38. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  39. public static extern ExceptionStatus quality_Ptr_QualitySSIM_delete(IntPtr obj);
  40. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  41. public static extern ExceptionStatus quality_Ptr_QualitySSIM_get(IntPtr ptr, out IntPtr returnValue);
  42. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  43. public static extern ExceptionStatus quality_QualitySSIM_staticCompute(
  44. IntPtr @ref, IntPtr cmp, IntPtr qualityMap, out Scalar returnValue);
  45. #endregion
  46. #region QualityGMSD
  47. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  48. public static extern ExceptionStatus quality_createQualityGMSD(IntPtr @ref, out IntPtr returnValue);
  49. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  50. public static extern ExceptionStatus quality_Ptr_QualityGMSD_delete(IntPtr obj);
  51. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  52. public static extern ExceptionStatus quality_Ptr_QualityGMSD_get(IntPtr ptr, out IntPtr returnValue);
  53. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  54. public static extern ExceptionStatus quality_QualityGMSD_staticCompute(
  55. IntPtr @ref, IntPtr cmp, IntPtr qualityMap, out Scalar returnValue);
  56. #endregion
  57. #region QualityMSE
  58. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  59. public static extern ExceptionStatus quality_createQualityMSE(IntPtr @ref, out IntPtr returnValue);
  60. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  61. public static extern ExceptionStatus quality_Ptr_QualityMSE_delete(IntPtr obj);
  62. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  63. public static extern ExceptionStatus quality_Ptr_QualityMSE_get(IntPtr ptr, out IntPtr returnValue);
  64. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  65. public static extern ExceptionStatus quality_QualityMSE_staticCompute(
  66. IntPtr @ref, IntPtr cmp, IntPtr qualityMap, out Scalar returnValue);
  67. #endregion
  68. #region QualityBRISQUE
  69. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  70. public static extern ExceptionStatus quality_createQualityBRISQUE1(
  71. [MarshalAs(UnmanagedType.LPStr)] string modelFilePath,
  72. [MarshalAs(UnmanagedType.LPStr)] string rangeFilePath,
  73. out IntPtr returnValue);
  74. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  75. public static extern ExceptionStatus quality_createQualityBRISQUE2(IntPtr model, IntPtr range, out IntPtr returnValue);
  76. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  77. public static extern ExceptionStatus quality_Ptr_QualityBRISQUE_delete(IntPtr obj);
  78. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  79. public static extern ExceptionStatus quality_Ptr_QualityBRISQUE_get(IntPtr ptr, out IntPtr returnValue);
  80. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  81. public static extern ExceptionStatus quality_QualityBRISQUE_staticCompute(
  82. IntPtr @ref,
  83. [MarshalAs(UnmanagedType.LPStr)] string modelFilePath,
  84. [MarshalAs(UnmanagedType.LPStr)] string rangeFilePath,
  85. out Scalar returnValue);
  86. [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
  87. public static extern ExceptionStatus quality_QualityBRISQUE_computeFeatures(IntPtr img, IntPtr features);
  88. #endregion
  89. }