Drawing a rectangle with a angle using OpenCV

Richard Price-Jones
1 min readMar 16, 2018

--

All you require is a center point, width,height and a angle. This code is from the OpenCV github Repo but it was written in Java I’ve just converted into Python. You can check the C++ or Java implementation here — https://github.com/opencv/opencv

def draw_angled_rec(x0, y0, width, height, angle, img):

_angle = angle * math.pi / 180.0
b = math.cos(_angle) * 0.5
a = math.sin(_angle) * 0.5
pt0 = (int(x0 - a * height - b * width),
int(y0 + b * height - a * width))
pt1 = (int(x0 + a * height - b * width),
int(y0 - b * height - a * width))
pt2 = (int(2 * x0 - pt0[0]), int(2 * y0 - pt0[1]))
pt3 = (int(2 * x0 - pt1[0]), int(2 * y0 - pt1[1]))

cv2.line(img, pt0, pt1, (255, 255, 255), 3)
cv2.line(img, pt1, pt2, (255, 255, 255), 3)
cv2.line(img, pt2, pt3, (255, 255, 255), 3)
cv2.line(img, pt3, pt0, (255, 255, 255), 3)

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Richard Price-Jones
Richard Price-Jones

Written by Richard Price-Jones

Software Engineer, Interested Finance and Tech

Responses (2)

Write a response