Change language

# Draw a triangle with a centroid using OpenCV

Given the three vertices of a triangle, write a Python program to find the centroid of a triangle, and then draw a triangle with its centroid in a black window using OpenCV.

Examples:

`  Input:  (100, 200) (50, 50) (300, 100)  Output:  (150, 116) `

Required Libraries:

` OpenCV Numpy `

Fit:
Create a black window with three color channels at 400x 300. Draw three lines that go through the specified points using the built-in OpenCV lines feature. This will create a triangle on the black window. Find the center of gravity of a triangle using the following simple formula.

Draw this centroid on a black window using the circle OpenCV with zero thickness.

Below is the implementation of the above approach:

 ` # Python3 code to draw triangle and search centroid `   ` # importing libraries ` ` import ` ` numpy as np ` ` import ` ` cv2 `   ` # Width and height of the black window ` ` width ` ` = ` ` 400 ` ` height ` ` = ` ` 300 `   ` # Create a 400 x 300 black window ` ` img ` ` = ` ` np.zeros ((height, width, ` ` 3 ` `), np.uint8) `   ` # Three vertices (tuples) of a triangle ` ` p1 ` ` = ` ` (` ` 100 ` `, ` ` 200 ` `) ` ` p2 ` ` = ` ` (` ` 50 ` `, ` ` 50 ` `) ` ` p3 ` ` = ` ` (` ` 300 ` `, ` ` 100 ` `) `   ` # Draw a triangle using lines ` ` # in black window with dots ` ` # cv2.line is a built-in function in the opencv library ` ` cv2.line (img, p1, p2, (` ` 255 ` `, ` ` 0 ` `, ` ` 0 ` `), ` ` 3 ` `) ` ` cv2.line (img, p2, p3, (` ` 255 ` `, ` ` 0 ` `, ` ` 0 ` `), ` ` 3 ` `) ` ` cv2.line (img, p1, p3, (` ` 255 ` `, ` ` 0 ` `, ` ` 0 ` `), ` ` 3 ` `) `   ` # centroid search by following formula ` ` # (X, Y) = (x1 + x2 + x3 // 3, y1 + y2 + y3 // 3) ` ` centroid ` ` = ` ` ((p1 [` ` 0 ` `] ` ` + ` ` p2 [` ` 0 ` `] ` ` + ` ` p3 [< / code> 0 ]) / / 3 , (p1 [ 1 ] + p2 [ 1 ] + p3 [ 1 ]) / / 3 ) ``    # Draw a centroid on a window cv2.circle (img, centroid, 4 , ( 0 , 255 , 0 )) < p>   # image - window title cv2.imshow ( "image" , img) cv2.waitKey ( 0 ) `

Exit:

` (150, 116) `

## Shop

Learn programming in R: courses

\$FREE

Best Python online courses for 2022

\$FREE

Best laptop for Fortnite

\$399+

Best laptop for Excel

\$

Best laptop for Solidworks

\$399+

Best laptop for Roblox

\$399+

Best computer for crypto mining

\$499+

Best laptop for Sims 4

\$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

PythonStackOverflow

Check if one list is a subset of another in Python

PythonStackOverflow

How to specify multiple return types using type-hints

PythonStackOverflow

Printing words vertically in Python

PythonStackOverflow

Python Extract words from a given string

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

PythonStackOverflow

Python os.path.join () method

PythonStackOverflow

Flake8: Ignore specific warning for entire file

## Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries