gpt4 book ai didi

c++ - 如何找到矩阵(坐标系)中表示的对象的边界

转载 作者:太空狗 更新时间:2023-10-29 20:04:40 28 4
gpt4 key购买 nike

我在矩阵中有一个对象的足迹,简而言之,对象占用了哪些单元格(对象是一个部分,标记为 0 的单元格未被占用,标记为 1 的单元格被对象占用)。然后,我在 list<pair<int, int> > 中有一个已占用单元格的列表。与矩阵坐标。

如何找到属于该对象的该对象的所有边框单元格? (例如,相邻的单元格是 (x1, y1)(x2, y2) if abs(x1-x2)<=1 && abs(y1-y2)<=1)。

0  0  0  0  0
0 0 1 1 0
0 1 1 1 0
0 1 1 1 0
0 0 1 0 0

最佳答案

如果一个像素的所有相邻像素都为 1,则将其设置为 0。其余 1 在边界上:

for (x = 1; x < width-1; ++x) {
for (y = 1; y < height-1; ++y) {
if (data(x+1,y) && data(x-1,y) && data(x,y+1) && data(x,y-1)) {
data(x,y) = 0;
}
}
}

关于c++ - 如何找到矩阵(坐标系)中表示的对象的边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18060385/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com