У меня есть программа C#, которая обрабатывает изображение и возвращает положение, в котором точки расположены на изображении, следующим образом
public class Program
{
public static void Main()
{
var resource = Assembly.GetExecutingAssembly().GetManifestResourceStream("ImageDotsToData.dots.png");
byte[] buffer = new byte[resource.Length];
resource.Read(buffer, 0, buffer.Length);
var positions = GetDotsPositions(buffer);
foreach (var position in positions)
{
Console.WriteLine(position);
}
Console.ReadLine();
}
public static List<Tuple<int, int>> GetDotsPositions(byte[] imgData)
{
int HEIGHT = 400;
int WIDTH = 600;
List<Tuple<int, int>> positions = new List<Tuple<int, int>>();
Bitmap bitmap;
using (Stream bmpStream = new MemoryStream(imgData))
{
Image image = Image.FromStream(bmpStream);
bitmap = new Bitmap(image);
}
List<int> knownBlankColors = new List<int>();
knownBlankColors.Add(Color.White.ToArgb());
for (int x = 0; x < HEIGHT; x++)
{
for (int y = 0; y < WIDTH; y++)
{
Color pixelColor = bitmap.GetPixel(x, y);
var code = pixelColor.ToArgb();
if (!knownBlankColors.Contains(code))
positions.Add(new Tuple<int, int>(x, y));
}
}
return positions;
}
}
, что дает следующий вывод:
(114, 33)
(114, 34)
(114, 35)
(114, 36)
(114, 37)
(114, 38)
(114, 39)
(114, 40)
(115, 33)
(115, 34)
(115, 35)
(115, 36)
(115, 37)
(115, 38)
(115, 39)
(115, 40)
(116, 33)
(116, 34)
et c и т. Д. Для следующего изображения
Теперь мой вопрос состоит в том, как назначить положение точек для метки, которая соответствует изображению ниже в json , как вы можете видеть на изображении, что Row1 имеет точку в позиции (114,33)
, как мне назначить метки для каждой из точек? чтобы дать мне результат, подобный {"Row1": "(114, 33)"}
Обратите внимание, что каждый текст метки должен быть жестко закодирован в