OpenCV 自适应二值化 (:cv_adaptive_binarization)
Android 扩展
此功能为 Android 平台扩展,仅在 NBTouch (Android) 上可用。
声明
图像 = 图像:cv_adaptive_binarization(邻域大小[, 常数C, 是否高斯加权])
参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 邻域大小 | 整数型 | 取值范围 ≥ 3 且为奇数 |
| 常数C | 实数型 | 可选,从计算的平均值中减去的常数,默认 0 |
| 是否高斯加权 | 布尔型 | 可选,是否使用高斯加权平均,默认 false |
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 图像 | 图片对象 | 二值化后返回图片对象本体 |
说明
使用 OpenCV 自适应阈值二值化。
- 此函数基于 OpenCV 的
cv::adaptiveThreshold实现 - 自适应二值化根据像素邻域计算阈值,适用于光照不均匀的图像
- 会对对象本身产生影响
算法模式
- 普通平均 (useGaussian=false): 邻域内像素平均值减去常数C作为阈值
- 高斯加权平均 (useGaussian=true): 邻域内像素的高斯加权平均值减去常数C作为阈值
示例
local img = screen.image()
-- 使用 11x11 邻域,高斯加权,常数C=2
img:cv_adaptive_binarization(11, 2, true)
img:save_to_album()