将图像转换为占用网格

Van*_*nel 5 c++ opencv

我刚刚开始学习 OpenCV,我想知道如何转换这样的图像:

在此处输入图片说明

进入占用网格,如下所示:

int grid[ROW][COL] = 
    { 
        { 1, 0, 1, 1, 1, 1, 0, 1, 1, 1 }, 
        { 1, 1, 1, 0, 1, 1, 1, 0, 1, 1 }, 
        { 1, 1, 1, 0, 1, 1, 0, 1, 0, 1 }, 
        { 0, 0, 1, 0, 1, 0, 0, 0, 0, 1 }, 
        { 1, 1, 1, 0, 1, 1, 1, 0, 1, 0 }, 
        { 1, 0, 1, 1, 1, 1, 0, 1, 0, 0 }, 
        { 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 }, 
        { 1, 0, 1, 1, 1, 1, 0, 1, 1, 1 }, 
        { 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 } 
    }; 

1: cell is not blocked (white pixel).
0: cell is blocked (black pixel).
Run Code Online (Sandbox Code Playgroud)

我不会完全使用那张图片。我将使用只有墙壁的图片:没有文字,没有家具,没有窗户,也没有门的符号。将只有带有“孔”的墙壁来显示门。

我想读取图像并在像素为白色时返回 1,当像素为黑色时返回 0。只有这样。

我怎么能用 OpenCV 做到这一点?

我会将该矩阵存储到一个文本文件中,但我知道该怎么做。

不要担心我要用那个矩阵做什么。我不是问那个。