我正在创建一个程序,可以从某个像素打印出 x 和 y 坐标。有一个像“GetPixel”这样的函数,但是它会从给定的坐标中获取 RGB 代码。我想要的反之亦然,所以我已经有了 RGB 代码,现在我正在通过我的图像做一个阈值,以了解它是否包含我想要的颜色像素。
这是我的代码:
所以首先我会上传一张图片:
public BitmapImage bitmap;
public void hochladen_Click(object sender, EventArgs e)
{
// Create OpenFileDialog
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
// Set filter for file extension and default file extension
dlg.DefaultExt = ".bmp";
dlg.Filter = "BMP Files (*.bmp)|*.bmp";
// Get the selected file name and display in a TextBox
if (dlg.ShowDialog() == true)
{
// Open document
string filename = dlg.FileName;
bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(filename);
bitmap.EndInit();
image.Source = bitmap;
}
}
然后当我在我的应用程序中单击一个按钮时,它应该从我的图像中做一个阈值,我将检测一个红点(R = 255,G = B = 0)
public Color c;
private void detektieren_Click(object sender, RoutedEventArgs e)
{
double x = bitmap.Width;
double y = bitmap.Height;
bl.Content = x + "x" + y;
所以从这一点开始,找到坐标应该不难了:
for (int i = 0; i < x; i++)
{
for (int j = 0; i < j; j++)
{
if (c.R == 255 && c.G == 0 && c.B == 0)
{
//
}
}
}
}
有人有想法吗?提前致谢。