变量名 | 类 型 | 静态 | 数组 | 备 注 |
输入 | 多维矩阵类 | | |
点 | 多维矩阵类 | | |
标准 | 迭代标准类 | | |
中心 | 多维矩阵类 | | |
标签s | 多维矩阵类 | | |
掩码 | 多维矩阵类 | | |
指数 | 整数型 | | |
c指数 | 整数型 | | |
高 | 整数型 | | |
宽 | 整数型 | | |
dst | 多维矩阵类 | | |
行 | 整数型 | | |
列 | 整数型 | | |
标签 | 整数型 | | |
bgr | 双精度小数型 | | 3 |
bgr1 | 字节型 | | 3 |
bgr2 | 双精度小数型 | | 3 |
w | 双精度小数型 | | |
m | 整数型 | | |
result | 多维矩阵类 | | |
bgrC | 字节型 | | 0 |
bgrd | 双精度小数型 | | 3 |
输入 =
视觉_图像读取 (“C:\Users\hanyo\Desktop\66\501.jpg”,
#读图_彩色 )视觉_创建窗口 (“input”,
#窗口_标准 )视觉_显示图像 (“input”, 输入
)点 =
组装数据 (输入
) 标准.
初始化 ( #迭代标准_精度 +
#迭代标准_元素, 10, 0.1
)视觉_K均值 (点, 4, 标签s, 标准, 3,
#K方法_PP_中心, 中心
)掩码 =
矩阵 (输入.
行数 (), 输入.
列数 (),
#Cv无符号字节型_单通道, 0
)指数 = 输入.
行数 () × 2 + 2
c指数 = 标签s.
取元素 (指数, 0
)高 = 输入.
行数 ()宽 = 输入.
列数 ()输入.
复制 (dst,
)
变量循环首 (0, 高 - 1, 1, 行
)
变量循环首 (0, 宽 - 1, 1, 列
)

指数 = 行 × 宽 + 列


标签 = 标签s.
取元素 (指数, 0
)

判断 (标签 = c指数
) 


dst.
置元素V (行, 列,
{ 0, 0, 0, 0, 0, 0
})


掩码.
置元素 (行, 列, 0
)


掩码.
置元素 (行, 列, 255
)



变量循环尾 ()
变量循环尾 ()视觉_显示图像 (“mask”, 掩码
)视觉_显示图像 (“KMeans-Result”, dst
) result.
初始化 (输入.
行数 (), 输入.
列数 (), 输入.
类型 (),
标量 (0
))
bgr2
[1
] = 0
bgr2
[2
] = 0
bgr2
[3
] = 255
变量循环首 (0, 高 - 1, 1, 行
)
变量循环首 (0, 宽 - 1, 1, 列
)

m = 掩码.
取元素 (行, 列
)

判断 (m = 255
) 


bgrC = 输入.
取元素8U (行, 列
)


bgrd
[1
] = bgrC
[1
]


bgrd
[2
] = bgrC
[2
]


bgrd
[3
] = bgrC
[3
]


result.
置元素V (行, 列, bgrd
)

判断 (m = 0
) 


result.
置元素V (行, 列,
{ 0, 0, 255
})


w = m ÷ 255



bgr1 = 输入.
取元素8U (行, 列
)


bgr
[1
] = bgr1
[1
] × w + bgr2
[1
] �
� (1 - w
)


bgr
[2
] = bgr1
[2
] × w + bgr2
[2
] �
� (1 - w
)


bgr
[3
] = bgr1
[3
] × w + bgr2
[3
] �
� (1 - w
)


result.
置元素V (行, 列, bgr
)



变量循环尾 ()
变量循环尾 ()视觉_显示图像 (“背景替换”, result
)视觉_等待按键 (0
)返回 (0
) 变量名 | 类 型 | 静态 | 数组 | 备 注 |
samplecount | 整数型 | | |
h | 整数型 | | |
w | 整数型 | | |
dims | 整数型 | | |
points | 多维矩阵类 | | |
index | 整数型 | | |
row | 整数型 | | |
col | 整数型 | | |
bgr | 字节型 | | 0 |
w = image.
列数 ()h = image.
行数 ()samplecount = w × h
dims = image.
通道数 ()points.
初始化 (samplecount, dims,
#Cv小数型, 标量 (10
))
变量循环首 (0, h - 1, 1, row
)
变量循环首 (0, w - 1, 1, col
)

index = row × w + col


bgr = image.
取元素8U (row, col
)

points.
置元素 (index, 0, bgr
[2
])

points.
置元素 (index, 1, bgr
[3
])

points.
置元素 (index, 2, bgr
[3
])
变量循环尾 ()
变量循环尾 ()返回 (points
)