12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
编程知识 时间:2024-12-04 13:26:30
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
要获取轮廓内所有像素,可以通过使用cv2.findContours()函数找到轮廓,然后使用cv2.drawContours()函数将轮廓绘制在一副空白图像上,最后使用numpy的np.where()函数获取轮廓内的
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
要获取轮廓内所有像素,可以通过使用cv2.findContours()
函数找到轮廓,然后使用cv2.drawContours()
函数将轮廓绘制在一副空白图像上,最后使用numpy的np.where()
函数获取轮廓内的像素坐标。
以下是一个示例代码:
import cv2import numpy as np# 读取图像image = cv2.imread('input.jpg')gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 二值化ret, thresh = cv2.threshold(gray, 127, 255, 0)# 寻找轮廓contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 创建一副空白图像blank_image = np.zeros_like(image)# 绘制轮廓cv2.drawContours(blank_image, contours, -1, (255, 255, 255), -1)# 获取轮廓内所有像素坐标pixels = np.where(blank_image == 255)# 打印轮廓内的像素坐标for i in range(len(pixels[0])):x = pixels[0][i]y = pixels[1][i]print(f'Pixel at ({x}, {y}): {image[x, y]}')# 显示结果cv2.imshow('Contours', blank_image)cv2.waitKey(0)cv2.destroyAllWindows()
这段代码首先读取一幅图像,然后找到图像中的轮廓,绘制轮廓在一副空白图像上,并通过np.where()
函数获取轮廓内的像素坐标。最后打印出轮廓内的像素坐标,并显示绘制有轮廓的图像。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19