私はMATLABから.netアセンブリファイルを作成し、それをc#windowsとc#webアプリケーションで使用しました。今私はxamarinでこのアセンブリファイルを使用したいが、私はエラーを取得しています。 C#コードもxamarinで動作するはずです。ではない??xamarinで.netライブラリを呼び出す
Windowsでは、イメージのr、g、bチャネルをフェッチしようとしましたが、xamarinで同じことをしようとするとエラーが発生します。 ウィンドウコードが通りである:
int i, j;
Bitmap image = (Bitmap)pictureBox1.Image;
int width = image.Width;
int height = image.Height;
Bitmap processed_image = new Bitmap(width, height);
try
{
byte[,,] rgb = new byte[3, height, width];
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
rgb[0, i, j] = image.GetPixel(j, i).R;
rgb[1, i, j] = image.GetPixel(j, i).G;
rgb[2, i, j] = image.GetPixel(j, i).B;
}
}
MWNumericArray narr = new MWNumericArray();
narr = rgb;
Salt obj = new Salt();
MWArray u = obj.classification(narr);
label1.Text = u.ToString();
// MessageBox.Show(u.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
としてxamarinコードがある:私はR、G及びBチャネルをフェッチのエラーを取得してい
int i, j;
Bitmap image = bitmapimage;// bitmapimage the image (either taken from gallery or captured using camera)
int width = image.Width;
int height = image.Height;
byte[,,] rgb = new byte[3, height, width];
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
rgb[0, i, j] = image.GetPixel(j, i).R;
rgb[1, i, j] = image.GetPixel(j, i).G;
rgb[2, i, j] = image.GetPixel(j, i).B;
}
}
MWNumericArray narr = new MWNumericArray();
narr = rgb;
Salt obj = new Salt();
MWArray u = obj.classification(narr);
textview.SetText(u);
。
「int型」「R」の定義が含まれていないと何の拡張メソッド「R」タイプの最初の引数を受け入れる「INT」は見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)
このエラーを解決するのを手伝ってください。本当にいっぱいになるでしょう。おかげさまで
、あなたは 'GetPixel'は' int'なく 'Color'を返すことを見てきたと思います。返されたintを使って 'Color'インスタンスを作成する必要があります。 –
@CamiloTerevintoまあ、正直言って、私もこれを言うつもりでしたが、実際には 'Color'を返すことになっていました:https://developer.xamarin.com/api/member/System.Drawing.Bitmap.GetPixel /p/System.Int32/System.Int32/ –
@SoroushFalahati OPが 'System.Drawing.Bitmap'を使用した場合、エラーメッセージ(" int does not ... ")によると、彼は。 –