转换图像并保存为字节数组

convert image and save as byte array

我想将简单的图片转换为字节数组,然后将此数组保存为.txt 我试图这样做但我迷路了..我无法转换这个......我想要数组并且在我的数组中的数字应该出现的地方1.如果没有什么应该是0.

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Image image = Image.FromFile(@"D:\Stackimage.png");
            var ms = new MemoryStream();

            image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

            var bytes = ms.ToArray();



            string[] tab = new string[1000000];

            for (int i = 0; i < 1000000; i++)
            {

                tab[i] = "" + bytes;
            }
            MessageBox.Show("start");
            using (System.IO.StreamWriter writer = new System.IO.StreamWriter(@"D:\data.txt"))
            {
                foreach (string elem in tab)
                {
                    writer.WriteLine(elem);
                }
            }
            MessageBox.Show("stop");
        }

我在这里添加我的图片。 My picture

我明白你想做什么了。类似的方法用于使用 heightMap 进行地形渲染。这个想法是将图像作为灰度映射到文本文件中,该文本文件又用于生成地形的高度。

在您的情况下,您可以将其映射为 0s 和 1s(其中 1s 是障碍物的颜色)。

然后您可以将映射的文本文件上传到二维数组中,这将是您的地图鸟瞰图。

当机器人在场景中移动时,您可以通过检查二维阵列地图上的当前位置来检测它是否可以安全移动。

希望对您有所帮助。