static public Bitmap SingleColor(Bitmap Source, BGRModel Type) { int Width = Source.Width, Height = Source.Height; BGR[,] Result = Img2BGR(Source); int X, Y, T; for (Y = 0; Y < Height; ++Y) { for (X = 0; X < Width; ++X) { for (T = 0; T < 3; ++T) { if ((Type & BGRModel.R) != BGRModel.R) { Result[Y, X].R = 0; } if ((Type & BGRModel.G) != BGRModel.G) { Result[Y, X].G = 0; } if ((Type & BGRModel.B) != BGRModel.B) { Result[Y, X].B = 0; } } } } return(BGR2Img(Result)); }
static public double Max(BGRComplexImg Source, BGRModel Model) { int X, Y, Width = Source.Width, Height = Source.Height; double M = 0; int I = (int)Model / 2; for (Y = 0; Y < Height; ++Y) { for (X = 0; X < Width; ++X) { M = M < Source[I][Y, X].Magnitude ? Source[I][Y, X].Magnitude : M; } } return(M); }
public void IFFT2(BGRModel Type) { if ((Type & BGRModel.R) == BGRModel.R) { AMFT.FFT2(_R, AMFT.Direction.Backward); } if ((Type & BGRModel.G) == BGRModel.G) { AMFT.FFT2(_G, AMFT.Direction.Backward); } if ((Type & BGRModel.B) == BGRModel.B) { AMFT.FFT2(_B, AMFT.Direction.Backward); } }
public void BFFTShift(BGRModel Type) { if ((Type & BGRModel.R) == BGRModel.R) { ImgF.BFFTShift(_R); } if ((Type & BGRModel.G) == BGRModel.G) { ImgF.BFFTShift(_G); } if ((Type & BGRModel.B) == BGRModel.B) { ImgF.BFFTShift(_B); } }
public void Range(BGRModel Type) { if ((Type & BGRModel.R) == BGRModel.R) { ImgF.BGRRange(_R); } if ((Type & BGRModel.G) == BGRModel.G) { ImgF.BGRRange(_G); } if ((Type & BGRModel.B) == BGRModel.B) { ImgF.BGRRange(_B); } }
public void ToDouble(BGRModel Type) { if ((Type & BGRModel.R) == BGRModel.R) { ImgF.Divide(_R); } if ((Type & BGRModel.G) == BGRModel.G) { ImgF.Divide(_G); } if ((Type & BGRModel.B) == BGRModel.B) { ImgF.Divide(_B); } }
public void Exp(BGRModel Type) { if ((Type & BGRModel.R) == BGRModel.R) { ImgF.Exp(_R); } if ((Type & BGRModel.G) == BGRModel.G) { ImgF.Exp(_G); } if ((Type & BGRModel.B) == BGRModel.B) { ImgF.Exp(_B); } }
static public Bitmap StrongColor(Bitmap Source, BGRModel Type) { int Width = Source.Width, Height = Source.Height; BGR[,] Result = Img2BGR(Source); int X, Y; byte Want = 0; for (Y = 0; Y < Height; ++Y) { for (X = 0; X < Width; ++X) { Want = DoubleToByte(Result[Y, X][(int)Type / 2]); Result[Y, X][0] = Result[Y, X][1] = Result[Y, X][2] = Want; } } return(BGR2Img(Result)); }