liuyanlei1990 2017-04-01 10:18 采纳率: 0%
浏览 12599

opencv 二值图像怎么样边缘平滑

处理后的二值图 和结果图像

做一个绿背景抠像的程序, 摄像头获取的图像,我二值化获得掩码图像后,如图左边,然后利用掩码扣到结果图像如右边,我现在想知道怎样把这样的锯齿去掉呀。 就是对二值图像怎么样的操作 才能让边缘看起来平滑。 我用过 blur 函数。
int height = dstBw.rows;
int width = dstBw.cols;
blur(dstBw, hua, Size(3,3));
for (int i = 0; i < height; i++)
{
uchar* p = hua.ptr(i);
for (int j = 0; j < width; j++)
{
if (p[j] < 1)
p[j] = 0;
else p[j] = 255;
}
}

    }
    dstBw 就是平滑前的二值图。用来这个函数 还是这样,效果没有, 哪位给个建议

    新人没c币 ,再次叩谢
  • 写回答

3条回答

  • devmiao 2017-04-01 15:52
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch