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

谢谢。

最佳答案

就像是:

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的东西需要一些微调

关于c# - C#mat2gray(matlab)函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5418171/

10-12 21:54