效果
首先点击几个点作为多边形顶点,按下“e”画出多边形轮廓。接下来按下“r”、“g”、“b”三个按键中的任一个选择对应颜色填充多边形。它会慢慢自上往下填充。
这里说明一下,代码可能还有点小问题,边数多了会填充出错
代码
import cv2
import numpy as np
import time
img = np.zeros((700, 900, 3), np.uint8)#背景
pts=[]
def draw_func(event, x, y, flags, param):
global pts
if event == cv2.EVENT_LBUTTONDOWN:
print('(x:',x,',y:',y,')')
str1 = '(x:'+ str(x) + ',y:'+ str(y) + ')'
#cv2.putText(img,str1 , (x, y), cv2.FONT_HERSHEY_PLAIN,1.0, (0, 0, 255), thickness=1)
cv2.circle(img,(x,y),1,(0,255,0),thickness=1)
pts.append([x,y])
#活性边表与新边表中的节点
class Node:
def __init__(self,xmin,ymax,k1,next=None):
self.x=xmin#也就是x的初始值
self.ymax=ymax
self.k1=k1#也就是δx
self.next=next
def print(self):
t=self
while t!=None