恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
光照不均还能二值化吗?用华为云码道开发 OpenCV 自适应阈值工具
首页
资讯中心
/
光照不均还能二值化吗?用华为云码道开发 OpenCV 自适应阈值工具
光照不均还能二值化吗?用华为云码道开发 OpenCV 自适应阈值工具
发布时间:2026/10/18 22:07:48
前面已经做过 Global Threshold 和 Otsu Threshold这两种方法都有一个共同点整张图片使用一个全局阈值。如果图片本身光照比较均匀这样通常没问题但如果一边亮、一边暗单一阈值就容易出现分割不稳定。所以这次我用华为云码道辅助开发了一个基于 OpenCV 的Adaptive Threshold 自适应阈值工具。1. 这次工具做什么主要功能包括上传 JPG / PNG 图片自动转换灰度图支持 Adaptive Mean支持 Adaptive Gaussian调节 Block Size调节 C显示原图、灰度图、二值图统计黑白像素比例支持下载处理结果整体流程图片→ 灰度化→ 局部区域计算阈值→ Adaptive Threshold→ Binary Image2. 自适应阈值和普通阈值有什么区别普通 Global Threshold 是整张图只使用一个阈值。比如Threshold 128所有像素都按照 128 判断黑白。而 Adaptive Threshold 不一样。它会根据每个像素附近的局部区域单独计算阈值。所以图片中不同位置可以使用不同的判断标准。这也是它更适合光照不均场景的原因。3. Adaptive Gaussian 怎么实现这次测试使用的是Adaptive Gaussian核心代码binary cv2.adaptiveThreshold( gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)其中11是 Block Size2是 C算法会根据局部邻域中的像素计算加权平均值再得到对应位置的阈值。4. Block Size 是什么Block Size 表示计算当前像素阈值时要参考多大的局部区域。这次使用Block Size 11也就是参考一个11 × 11的邻域。Block Size 必须是奇数比如3571115Block Size 越小对局部变化越敏感越大则会参考更大范围的亮度信息。5. 参数 C 有什么作用这次C 2.00C 可以理解成一个阈值偏移量。自适应阈值大致可以理解为Threshold Local Value - C调整 C 会直接影响最终黑白区域比例。所以Block Size 决定“看多大的范围”C 决定“阈值再偏移多少”。6. 真实测试结果这次继续使用狗狗公园图片。图片尺寸1650 × 953参数MethodAdaptive GaussianBlock Size11C2.00最终结果Black Pixel Ratio25.07%White Pixel Ratio74.93%最终 Adaptive Binary Image 正常生成。7. 为什么结果细节这么多从二值图可以明显看到狗狗毛发草地树叶建筑湖边轮廓这些结构都被保留下来了。这是因为 Adaptive Threshold 不是拿整张图片和同一个值比较。而是每个区域根据自己附近的亮度来判断。所以即使暗部和亮部同时存在也能保留更多局部结构。8. 和 Global / Otsu 有什么区别前面测试过Global ThresholdThreshold128Black30.56%White69.44%Otsu Threshold自动 Threshold142Black37.87%White62.13%而这次 Adaptive GaussianBlack25.07%White74.93%更重要的是Adaptive 的优势不只是比例不同而是局部细节明显更多。Global / Otsu 更容易形成大片黑白区域Adaptive 更强调局部结构。9. 自适应阈值也有缺点细节保留更多不代表一定更好。从这次结果也能看到草地、毛发、树叶区域出现了非常多细小黑线。这说明 Adaptive Threshold 也容易产生碎边小噪点纹理过度保留如果 Block Size 或 C 设置不合适结果可能反而变得很乱。所以它更适合光照不均且确实需要保留局部细节的场景。10. 总结这次用华为云码道辅助开发了一个OpenCV 自适应阈值工具。核心流程Grayscale→ Local Neighborhood→ Adaptive Threshold→ Binary Image真实测试结果MethodAdaptive GaussianBlock Size11C2.00Black Pixel Ratio25.07%White Pixel Ratio74.93%相比 Global Threshold 和 OtsuAdaptive Threshold 最大的特点就是不是整张图片只做一次判断而是让不同局部区域分别做决定。这也正好对应页面上的一句话One image. Many local decisions.下一篇可以继续做一个很直观的 OpenCV 图像处理工具二值图里的噪点怎么去掉用华为云码道开发 OpenCV 形态学操作工具