博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV+python:开闭操作
阅读量:3949 次
发布时间:2019-05-24

本文共 1167 字,大约阅读时间需要 3 分钟。

1,开闭操作简介

开操作:

开操作 = 腐蚀+膨胀 ,输入图像 + 结构元素

作用:主要是应用在二值图像分析中,灰度图像亦可;用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积.提取水平或竖直的线

闭操作:

开操作 = 膨胀+腐蚀 ,输入图像 + 结构元素

作用:主要是应用在二值图像分析中,灰度图像亦可;用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积.
2,开闭操作源代码

import cv2 as cvimport numpy as npdef open_demo(image):    #print(image.shape)    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)    #cv.imshow("binary", binary)    kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE, (15, 15))    binary = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel)#开操作    cv.imshow("open-result", binary)def close_demo(image):    #print(image.shape)    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)   # cv.imshow("binary", binary)    kernel = cv.getStructuringElement(cv.MORPH_RECT, (15, 15))    binary = cv.morphologyEx(binary, cv.MORPH_CLOSE, kernel)#闭操作    cv.imshow("close_demo", binary)src = cv.imread("F:/images/morph.png")cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)cv.imshow("input image", src)open_demo(src)close_demo(src)cv.waitKey(0)cv.destroyAllWindows()

运行结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:http://dahwi.baihongyu.com/

你可能感兴趣的文章
Setting Up the Search Interface 设置搜索界面
查看>>
Storing and Searching for Data 数据存储和搜索
查看>>
Remaining Backward Compatible 保持向后兼容
查看>>
Remembering Your User 记住你的用户
查看>>
Authenticating to OAuth2 Services 验证OAuth2服务
查看>>
Creating a Custom Account Type 创建自定义帐户类型
查看>>
Sending Content to Other Apps 将内容发送到其他应用程序
查看>>
Receiving Content from Other Apps 接收来自其他应用程序的内容
查看>>
Adding an Easy Share Action 添加一个简单的共享行动
查看>>
Taking Photos Simply 简单地拍摄照片
查看>>
Recording Videos Simply 简单录制视频
查看>>
Controlling the Camera 控制相机
查看>>
Creating Multiple APKs for Different API Levels 创建多个不同的API级别的APK
查看>>
Creating Multiple APKs for Different Screen Sizes 创建多个APKs为不同的屏幕尺寸
查看>>
Creating Multiple APKs for Different GL Textures 创建多个APK给不同的GL结构
查看>>
Android Package and Manifest File
查看>>
Creating Multiple APKs with 2+ Dimensions 创建两种以上屏幕尺寸多apk支持
查看>>
Abstracting the New APIs 抽象出新的API
查看>>
Proxying to the New APIs 代理新的API
查看>>
Creating an Implementation with Older APIs 用较早版本的APIs实现抽象类
查看>>