码迷,mamicode.com
首页 > 其他好文 > 详细

opencv画五角星

时间:2018-01-19 18:54:25      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:int   open   point   pre   imshow   enc   图片   com   turn   

import cv2
import numpy as np
import math

img = np.zeros((400, 400, 3), np.uint8)
points = []
base = (200, 200)
start_angle = 40
x = 120
y =35

#a*math.sin(36/180.0*math.pi)==b*math.sin(18/180.0*math.pi)
#b=a*math.sin(0.2*math.pi)/float(math.sin(0.1*math.pi))
#a*math.cos(36/180.0*math.pi)+b*math.cos(18/180.0*math.pi)=x
#a*(math.cos(0.2*math.pi)+(math.cos(0.1*math.pi)*math.sin(0.2*math.pi)/float(math.sin(0.1*math.pi))))=x
y=x/(math.cos(0.2*math.pi)+math.sin(0.2*math.pi)/math.tan(0.1*math.pi))



def get_point(angle, d, base):
    angle=angle/180.0*math.pi
    _x, _y = math.cos(angle) * d, math.sin(angle) * d
    return [base[0] +_x, base[1] - _y]


for i in range(5):
    _x, _y = math.cos(start_angle), math.sin(start_angle)
    points.append(get_point(start_angle, x, base))

    start_angle -= 36
    points.append(get_point(start_angle, y, base))
    start_angle-=36

    pass
points=np.array([points],np.int32)

cv2.fillPoly(img, points, (0, 0, 255), cv2.LINE_AA)

cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()


技术分享图片

opencv画五角星

标签:int   open   point   pre   imshow   enc   图片   com   turn   

原文地址:https://www.cnblogs.com/cangling20041616/p/8318310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!