0
Wie zu konvertieren Bitmap zu Komplexe Nummer?Wie können wir ein Bitmap-Objekt in eine komplexe Zahl konvertieren?
public static COMPLEX [,] BitmapToComplex2D(Bitmap bmp)
{
COMPLEX[,] comp = new COMPLEX[bmp.Width, bmp.Height];
int [,] array2D = BitmapToArray2D(bmp);
for (int i = 0; i <= bmp.Width - 1; i++)
{
for (int j = 0; j <= bmp.Height - 1; j++)
{
comp[i,j].RealPart = ???;
comp[i,j].ImaginaryPart = ???;
}
}
return comp;
}
Da ...
2D-Array-Wandler
public static Bitmap Array2DToBitmap(int[,] image)
{
int i, j;
Bitmap output = new Bitmap(image.GetLength(0), image.GetLength(1));
BitmapData bitmapData1 = output.LockBits(new Rectangle(0, 0, image.GetLength(0), image.GetLength(1)),
ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
unsafe
{
byte* imagePointer1 = (byte*)bitmapData1.Scan0;
for (i = 0; i < bitmapData1.Height; i++)
{
for (j = 0; j < bitmapData1.Width; j++)
{
imagePointer1[0] = (byte)image[j, i];
imagePointer1[1] = (byte)image[j, i];
imagePointer1[2] = (byte)image[j, i];
imagePointer1[3] = 255;
//4 bytes per pixel
imagePointer1 += 4;
}//end for j
//4 bytes per pixel
imagePointer1 += (bitmapData1.Stride - (bitmapData1.Width * 4));
}//end for i
}//end unsafe
output.UnlockBits(bitmapData1);
return output;// col;
}
2D komplexe Zahl Bitmap in Bitmap (Ist es richtig?)
public static Bitmap Complex2DToBitmap(COMPLEX[,] comp)
{
Bitmap output = new Bitmap(comp.GetLength(0), comp.GetLength(1));
int[,] GreyscaleImage2DArray = new int[output.Width, output.Height];
for (int i = 0; i <= output.Width - 1; i++)
{
for (int j = 0; j <= output.Height - 1; j++)
{
GreyscaleImage2DArray[i, j] = (int)comp[i, j].Magnitude();
}
}
output = ImageConverter.Array2DToBitmap(GreyscaleImage2DArray);
return output;
}
In 'Array2DToBitmap' werfen Sie' int' nach 'byte', sind Sie sicher, dass alle Werte auf' image' zwischen 0 und 255 liegen? – Shago
Ich arbeite nur mit Graustufen. – anonymous