Python OpenCV图像形态学处理:腐蚀与膨胀详解

白榆
白榆
发布时间:2026-10-12| 3人浏览过
原创

本文详解Python中使用OpenCV进行图像形态学处理的方法,重点解析腐蚀(erode)与膨胀(dilate)两个核心操作。通过具体代码示例,展示如何定义卷积核、设置迭代次数,并对比处理前后图像线条粗细的变化,帮助开发者掌握基础图像增强与降噪技巧。

一、图像的腐蚀处理

1、原图

img = cv2.imread(r"C:\Users\admin\Desktop\hb.jpg")
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

首先观察原图,其周围存在多条白色直线。

2、进行腐蚀处理

实现腐蚀处理所采用的方法如下:

  • cv2.erode(img,kernel,iterations=1)
  • img:代表输入的原图像。
  • kernel:指定卷积核的尺寸大小。
  • iterations:设定腐蚀操作的迭代次数。
img = cv2.imread(r"C:\Users\admin\Desktop\hb.jpg")
kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(img,kernel,iterations=1)
cv2.imshow('img', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

二、图像的膨胀处理

1、原图

img = cv2.imread(r"C:\Users\admin\Desktop\hb.jpg")
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

2、进行膨胀处理

实现膨胀处理所采用的方法如下:

  • cv2.dilate(img,kernel,iterations=1)
  • img:代表输入的原图像。
  • kernel:指定卷积核的尺寸大小。
  • iterations:设定膨胀操作的迭代次数。
kernel = np.ones((3, 3), np.uint8)
dilate = cv2.dilate(img,kernel,iterations=1)
cv2.imshow('img', dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

执行后可观察到,处理后的线条相比原图明显变粗。

至此,关于Python中OpenCV图像腐蚀和膨胀处理的介绍已完毕。如需了解更多OpenCV图像腐蚀相关内容,建议搜索本站历史文章或继续浏览后续教程,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。