Функция c # mat2gray (matlab) - PullRequest
       52

Функция c # mat2gray (matlab)

2 голосов
/ 24 марта 2011

Кто-нибудь знает библиотеку обработки изображений для c #, которая имеет функцию, которая работает как функция mat2gray в matlab?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 24 марта 2011

Что-то вроде:

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));
    }
}

Но для амин / амакс нужно немного настроить

0 голосов
/ 28 марта 2011

Точную реализацию функций MATLAB можно распечатать, используя ключевое слово type (кроме встроенных функций).

type mat2gray
0 голосов
/ 25 марта 2011

Другая возможность, если у вас есть доступ к набору инструментов MATLAB Builder NE, - это использовать deploytool для создания интерфейса .NET для mat2gray (или любой другой функции MATLAB, которую вы хотели бы вызвать из C #).Затем вы можете просто обернуть аргументы как объекты MWArray, вызвать оболочку .NET для функции MATLAB и развернуть возвращаемые результаты MWArray [].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...