首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >opencv算法(持续更新)

opencv算法(持续更新)

作者头像
sofu456
发布2022-05-06 15:41:56
发布2022-05-06 15:41:56
46700
代码可运行
举报
文章被收录于专栏:sofu456sofu456
运行总次数:0
代码可运行

滤波

均值滤波:blur 高斯滤波:GaussianBlur 中值滤波:medianBlur 双边滤波:bilateralFilter

处理后图像模糊,容易产生渐变色

去噪点

fastNlMeansDenoising

膨胀腐蚀

  • 膨胀,白色区域扩大
  • 腐蚀,黑色区域扩大

阈值

threshold阈值处理,处理针对每个通道,对rgb图片处理后,容易产生多种颜色,灰度图片的处理黑白单色

抠图

代码语言:javascript
代码运行次数:0
运行
复制
mask = np.zeros([img.shape[0], img.shape[1]], dtype='uint8')
bgdModle = np.zeros((1, 65), np.float64)
fgdModle = np.zeros((1, 65), np.float64)
rect = (50, 0, img.shape[1]-40, img.shape[0])
cv2.rectangle(img, (50, 0), (img.shape[1]-40, img.shape[0]), (0, 0, 255), 5)
cv2.grabCut(img, mask, rect, bgdModle, fgdModle, 3, cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8')
img *= mask2[:, :, np.newaxis]

或者,floodfill的方式寻找连同区域,作色

代码语言:javascript
代码运行次数:0
运行
复制
mask = np.zeros([img.shape[0]+2, img.shape[1]+2], dtype='uint8')
cv2.floodFill(img, mask, (120, 120), (255, 255, 255),
               (100, 100, 100), (0, 0, 0), cv2.FLOODFILL_FIXED_RANGE)

形态

代码语言:javascript
代码运行次数:0
运行
复制
cv::Canny(src_gray, threshold_output, 80, 126, (3, 3));
cv::morphologyEx(threshold_output, closed, cv::MORPH_CLOSE, element5);//寻找封闭区域
cv::findContours(closed, contours, hierarchy, RETR_EXTERNAL, CHAIN_APPROX_NONE, Point());//寻找轮廓,CV_RETR_EXTERNAL只检测最外层,contour,hierarchy二维数组

参考:https://blog.csdn.net/laobai1015/article/details/76400725

凸包、最小外接矩形

特征

hog

聚类算法

k均值,通过距离最小化递归知道,距离值大小稳定得到k个分类点。

参考:https://www.w3cschool.cn/opencv/opencv-cr4s2cb0.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 滤波
  • 去噪点
  • 膨胀腐蚀
  • 阈值
  • 抠图
  • 形态
  • 凸包、最小外接矩形
  • 特征
  • 聚类算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档