OpenCV开发常见踏坑记录(持续犯蠢,持续更新...)

像素操作

函数调用

形态学操作

形态学处理函数morphologyEx处理不了与图像边缘相接的轮廓,即便给了足够大的Size。

morphologyEx(blur_otsu, blur_otsu, MORPH_OPEN, getStructuringElement(MORPH_RECT, Size(1, blur_otsu.rows / 5)), Point(-1,-1), 1, 0, 0);

右侧白色轮廓需要被处理掉
查找原因,发现是日常使用时使用了默认的最后几个参数,然后最后一个参数**const Scalar& borderValue = morphologyDefaultBorderValue()**并不是默认为0的,需要显式地去给参数。

其他

1.调用minAreaRect测量图像某个轮廓的旋转角度。问题出现了,与另一个同事程序跑出来的结果完全对不上。发现是因为版本变更(至少3和4两个大版本有区别),函数返回来的angle值是不同的,openCV3获得的值加上90度才是openCV4的值。

//计算倾角
    RotatedRect r_rect = minAreaRect(ctr);
    float angle = r_rect.angle;
    //cout << "angle = " <<  angle << endl;
     angle > 80 ? angle = angle - 90 : angle = angle;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值