Source code for ovl.image_utilities.display_contours
import copy
import math
from .display_image import *
from ..image_utilities.open_image import open_image
[docs]def display_contours(image, contours, amount=0, display_loop=False, window_name="image", color=(0, 255, 0),
save_path=None):
"""
Displays the image with the current_vision list of contours
This can be used to display detected contours (object outlines) on an image (numpy array)
.. code-block:: python
import ovl
import cv2
image = cv2.imread("path/to/image.png")
(define a vision pipeline to detect contours)
contours, _ = vision.detect(image)
ovl.display_contours(image, contours)
:param image: image from which the contours were taken from, numpy array or image path
:param contours: the list of contours to display_image
:param color: the color of the of the contours outline
:param display_loop: if display is used in a loop should be true, else false
:param window_name: the window name, this is useful when display multiple different images at the same time
:param amount: amount of contours to display
:param save_path: if the image should be saved, pass the wanted result path
:return: the image with the drawn contours.
"""
if type(image) is str:
image = open_image(image)
image_for_display = copy.copy(image)
if amount == math.inf:
amount = 0
contours = contours[0:amount] if amount > 0 else contours
cv2.drawContours(image_for_display, contours, -1, color, 2)
if type(save_path) is str:
cv2.imwrite(save_path, image_for_display)
display_image(image_for_display, window_name=window_name, display_loop=display_loop)
return image_for_display