请写出python opencv 为二值化图片轮廓点每一百个取一个样点,并获取样点坐标的具体代码
时间: 2023-03-08 19:16:40 浏览: 91
Python+OpenCV图像处理——图像二值化的实现
import cv2
import numpy as np# 读取图片
img = cv2.imread("image.jpg")# 将图片转化为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 进行二值化处理
ret, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)# 提取轮廓
contours, hierarchy = cv2.findContours(binary,
cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_NONE)# 取出轮廓点,每一百个取一个样点,并获取样点坐标
step = int(len(contours[0])/100)
sample_points = []
for i in range(100):
sample_points.append(contours[0][i*step])# 转化为numpy数组
sample_points = np.array(sample_points)# 获取样点坐标
x_coords = list(sample_points[:,:,0].flatten())
y_coords = list(sample_points[:,:,1].flatten())
阅读全文