淘先锋技术网

首页 1 2 3 4 5 6 7

在Python中,轮廓和二值化是图像处理中一些基本操作。下面我们来介绍一下如何在Python中实现这两个操作。

第一步是加载图像。可以使用OpenCV库中的cv2.imread()方法读取一个图像文件。

import cv2
# 加载图像
img = cv2.imread('image.jpg', 0)

第二步是将图像二值化。使用cv2.threshold()方法,可以将图像变为黑白二值图像。

import cv2
# 加载图像
img = cv2.imread('image.jpg', 0)
# 将图像二值化
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

第三步是计算图像的轮廓。使用cv2.findContours()方法,可以得到图像中的所有轮廓。

import cv2
# 加载图像
img = cv2.imread('image.jpg', 0)
# 将图像二值化
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 计算轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

最后,可以使用cv2.drawContours()方法把轮廓画在原图上。

import cv2
# 加载图像
img = cv2.imread('image.jpg')
# 将图像二值化
ret, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 计算轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 在原图上画出轮廓
cv2.drawContours(img, contours, -1, (0, 255, 0), 3)
# 显示结果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

通过以上几个步骤,我们就可以在Python中实现图像处理中的轮廓和二值化操作了。