opencv 开操作和闭操作

原文链接: opencv 开操作和闭操作

上一篇: opencv 膨胀和腐蚀

下一篇: opencv 人脸检测

开操作:去除小的干扰块

闭操作:填充闭合区域

相当于膨胀和腐蚀的组合

# 核的大小和形状
kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
# 开操作
ret = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel, iterations=5)
# 闭操作
ret = cv.morphologyEx(binary, cv.MORPH_CLOSE, kernel, iterations=5)

开操作

7a840c3dd6e2400795d193599093c2966cf.jpg

闭操作

3b1c1e9a27823ae640b10708db6a63cd715.jpg

import cv2 as cv
import numpy as np

img = cv.imread("tooth.png")
cv.imshow('img', img)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('gray', gray)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
cv.imshow('bin', binary)
# 核的大小和形状
kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
# 开操作
ret = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel, iterations=5)
# 闭操作
ret = cv.morphologyEx(binary, cv.MORPH_CLOSE, kernel, iterations=5)
cv.imshow('ret', ret)
cv.waitKey(0)

设置核形状,可提取直线

eabb1084115f4a58bc43469be14ba326a38.jpg

dc233da54394755be9fa4d03b474e259ade.jpg

1e5ff2d88a9a73a65b1cb0fb502f981fed6.jpg

import cv2 as cv
import numpy as np

img = cv.imread("tooth.png")
img = cv.imread("line.jpg")
cv.imshow('img', img)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('gray', gray)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
cv.imshow('bin', binary)
# 核的大小和形状
kernel = cv.getStructuringElement(cv.MORPH_RECT, (15, 1))
# 开操作
ret = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel, iterations=5)
# 闭操作
# ret = cv.morphologyEx(binary, cv.MORPH_CLOSE, kernel, iterations=5)
cv.imshow('ret', ret)
cv.waitKey(0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值