Python Programmeringsvejledninger
On november 29, 2021 by adminTegning og skrivning på billeder OpenCV Python Tutorial
I denne OpenCV med Python tutorial vil vi gennemgå, hvordan du tegner forskellige former på dine billeder og videoer. Det er ret almindeligt at ønske at markere detekterede objekter på en eller anden måde, så vi mennesker nemt kan se, om vores programmer fungerer som vi kunne håbe. Et eksempel på dette ville være et af de billeder, der er vist før:
I dette midlertidige eksempel vil jeg bruge følgende billede:
Du opfordres til at bruge dit eget billede. Som sædvanlig kan vores startkode være noget i stil med:
import numpy as npimport cv2img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
Næst kan vi begynde at tegne, som:
cv2.line(img,(0,0),(150,150),(255,255,255),15)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()
Den cv2.line() tager følgende parametre: where, startkoordinater, slutkoordinater, farve (bgr), linjetykkelse.
Resultatet her:
Okay, fedt, lad os blive absurde med nogle flere figurer. Det næste er et rektangel:
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
Parametrene her er billedet, øverste venstre koordinat, nederste højre koordinat, farve og linjetykkelse.
Hvad med en cirkel?
cv2.circle(img,(100,63), 55, (0,255,0), -1)
Parametrene her er billedet/rammen, centrum af cirklen, radius, farve og derefter tykkelse. Bemærk, at vi har en -1 for tykkelse. Det betyder, at objektet faktisk vil blive udfyldt, så vi får en udfyldt cirkel.
Linjer, rektangler og cirkler er cool og det hele, men hvad nu hvis vi vil have en femkant eller ottekant eller ottedekant?! Intet problem!
Først navngiver vi pts, en forkortelse for point, som et numpy-array af koordinater. Derefter bruger vi cv2.polylines til at tegne linjerne. Parametrene er som følger: Hvor er objektet, der tegnes til, koordinaterne, skal vi “forbinde” slut- og startpunktet, farven og igen tykkelsen.
Den sidste ting, du måske vil gøre, er at skrive på billedet. Dette kan gøres således:
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV Tuts!',(0,130), font, 1, (200,255,155), 2, cv2.LINE_AA)
Fuld kode op til dette punkt ville være noget i retning af:
Resultatet:
I den næste tutorial vil vi dække grundlæggende billedoperationer, som vi kan udføre.
Skriv et svar