-
-
Save heliy/9e8d026ee279f9412d3d to your computer and use it in GitHub Desktop.
import numpy as np | |
import cv2 #3.0.0-dev | |
import math | |
r1 = 70 | |
r2 = 30 | |
ang = 60 | |
d = 170 | |
h = int(d/2*math.sqrt(3)) | |
dot_red = (256,128) | |
dot_green = (dot_red[0]-d/2, dot_red[1]+h) | |
dot_blue = (dot_red[0]+d/2, dot_red[1]+h) | |
# tan = float(dot_red[0]-dot_green[0])/(dot_green[1]-dot_red[0]) | |
# ang = math.atan(tan)/math.pi*180 | |
red = (0, 0, 255) | |
green = (0, 255, 0) | |
blue = (255, 0, 0) | |
black = (0, 0, 0) | |
full = -1 | |
img = np.zeros((512, 512, 3), np.uint8) | |
cv2.circle(img, dot_red, r1, red, full) | |
cv2.circle(img, dot_green, r1, green, full) | |
cv2.circle(img, dot_blue, r1, blue, full) | |
cv2.circle(img, dot_red, r2, black, full) | |
cv2.circle(img, dot_green, r2, black, full) | |
cv2.circle(img, dot_blue, r2, black, full) | |
cv2.ellipse(img, dot_red, (r1, r1), ang, 0, ang, black, full) | |
cv2.ellipse(img, dot_green, (r1, r1), 360-ang, 0, ang, black, full) | |
cv2.ellipse(img, dot_blue, (r1, r1), 360-2*ang, ang, 0, black, full) | |
cv2.imwrite("opencv_logo.png", img) |
thats because the function only accepts interger arguement you just have to modify those 14 and 15 lines as
dot_green = (round(dot_red[0]-d/2), round(dot_red[1]+h))
dot_blue = (round(dot_red[0]+d/2), round(dot_red[1]+h))
Round function rounds the value into integer and the this code runs
Hello Heliy!
i try to write your code opencvlogo.py. but i get mistake like this: TypeError: integer argument expected, got float
Please tell me what it is! Thanks a lot
dot_green = (dot_red[0]-d//2, dot_red[1]+h)
dot_blue = (dot_red[0]+d//2, dot_red[1]+h)
Modify it with this it will execute
@siddarthjha 'Cause it need integer, then you can modify from this code:
dot_green = (int(dot_red[0]-d/2),int(dot_red[1]+h))
dot_blue = (int(dot_red[0]+d/2), int(dot_red[1]+h))
Hello Heliy!
i try to write your code opencvlogo.py. but i get mistake like this: TypeError: integer argument expected, got float
Please tell me what it is! Thanks a lot