c#mat2gray(matlab)函数

时间:2011-03-24 11:07:54

标签: c# matlab image-processing grayscale

有人知道c#的图像处理库,其功能与matlab中的mat2gray函数类似吗?

感谢。

3 个答案:

答案 0 :(得分:3)

类似的东西:

public Bitmap mat2gray(int[,] mat,double? amin = null, double? amax = null){

  var sizex = mat.GetLength(0);
  var sizey = mat.GetLength(1);
  if (!amin.HasValue)
    amin = 0;
  if (!amax.HasValue)
    amax = 1;
  var ret = new Bitmap(sizex,sizey);
   for (int i=0; i< sizex;i++){
    for (int j=0; j< sizey;j++){
      int A = (int)((Math.Round(mat[i,j]-amin.Value)*(255.0/amax.Value))%amax.Value);
      ret.SetPixel(i,j,Color.FromArgb(A,A,A));
    }
}

但是amin / amax的东西需要一些微调

答案 1 :(得分:0)

如果您可以访问MATLAB Builder NE工具箱,另一种可能性是使用deploytool创建到mat2gray的.NET接口(或者您想从C#调用的任何其他MATLAB功能)。然后,您可以将参数包装为MWArray对象,调用MATLAB函数的.NET包装器,并打开返回的MWArray []结果。

答案 2 :(得分:0)

您可以使用type关键字打印MATLAB函数的确切实现(除了内置函数)。

type mat2gray