在OpenCV,我知道如何画圆,但有没有办法得到所有的点构成的圆?我希望我不需要计算轮廓。
谢谢
如果你知道如何画圆,
- 创建与原始图像相同大小的黑色图像
- 然后用白色 在黑色图像上画圆
- 现在在这张黑色的图片中,选中白色的
如果你正在使用Python API,你可以这样做:
import numpy as np
import cv2
img = np.zeros((500,500),np.uint8)
cv2.circle(img,(250,250),100,255)
points = np.transpose(np.where(img==255))
您可以在C/c++中执行与python实现的答案类似的操作
如果你知道如何画圆,
- 创建与原始图像相同大小的黑色图像
- 然后用白色
在黑色图像上画圆
现在,您可以找到圆边缘的轮廓(表示为点向量),而不是检查哪些像素具有特定值。
要做到这一点,你可以使用OpenCV的findContours函数,它会给你圆边缘上的点。
背景不一定是黑色,圆圈不一定是白色,但背景应该是纯色的,圆圈的颜色应该和背景的颜色不同