如何使用Python进行图像的形态学处理

655Z技术栈 Python编程 2026年01月06日 10

Python中可以使用opencv库来进行图像的形态学处理。形态学处理包括膨胀、腐蚀、开运算、闭运算等操作。下面是一些常见的形态学操作的示例:

  1. 膨胀操作:
import cv2 import numpy as np img = cv2.imread('input.jpg', 0) kernel = np.ones((5,5), np.uint8) dilate_img = cv2.dilate(img, kernel, iterations=1) cv2.imshow('Dilated Image', dilate_img) cv2.waitKey(0) cv2.destroyAllWindows()
  1. 腐蚀操作:
import cv2 import numpy as np img = cv2.imread('input.jpg', 0) kernel = np.ones((5,5), np.uint8) erode_img = cv2.erode(img, kernel, iterations=1) cv2.imshow('Eroded Image', erode_img) cv2.waitKey(0) cv2.destroyAllWindows()
  1. 开运算操作:
import cv2 import numpy as np img = cv2.imread('input.jpg', 0) kernel = np.ones((5,5), np.uint8) opening_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) cv2.imshow('Opening Image', opening_img) cv2.waitKey(0) cv2.destroyAllWindows()
  1. 闭运算操作:
import cv2 import numpy as np img = cv2.imread('input.jpg', 0) kernel = np.ones((5,5), np.uint8) closing_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel) cv2.imshow('Closing Image', closing_img) cv2.waitKey(0) cv2.destroyAllWindows()

以上示例中,input.jpg是输入图像的文件名,可以根据实际情况替换为其他图像文件名。形态学操作可以根据具体需求进行调整,通过调整kernel的大小和iterations参数可以得到不同的效果。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”