Python programmeer tutorials
On november 29, 2021 by adminTekenen en schrijven op afbeeldingen OpenCV Python Tutorial
In deze OpenCV met Python tutorial gaan we in op het tekenen van verschillende vormen op uw afbeeldingen en video’s. Het is vrij gebruikelijk om gedetecteerde objecten op een of andere manier te markeren, zodat wij als mensen gemakkelijk kunnen zien of onze programma’s werken zoals we hopen. Een voorbeeld hiervan zou een van de eerder getoonde afbeeldingen kunnen zijn:
Voor dit tijdelijke voorbeeld zal ik de volgende afbeelding gebruiken:
U wordt aangemoedigd om uw eigen afbeelding te gebruiken. Zoals gewoonlijk kan onze startcode iets zijn als:
import numpy as npimport cv2img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
Daarna kunnen we beginnen met tekenen, zoals:
cv2.line(img,(0,0),(150,150),(255,255,255),15)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()
De cv2.line() neemt de volgende parameters: where, start coordinates, end coordinates, color (bgr), line thickness.
Het resultaat hier:
Alright, cool, laten we absurd gaan met wat meer vormen. De volgende, een rechthoek:
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
De parameters hier zijn het beeld, de coördinaten linksboven, rechtsonder, kleur, en lijndikte.
En een cirkel?
cv2.circle(img,(100,63), 55, (0,255,0), -1)
De parameters hier zijn het beeld/frame, het middelpunt van de cirkel, de straal, kleur, en dan dikte. Merk op dat we een -1 hebben voor dikte. Dit betekent dat het object wordt opgevuld, dus we krijgen een opgevulde cirkel.
Lijnen, rechthoeken, en cirkels zijn cool en zo, maar wat als we een pentagon, of octagon, of octdecagon willen?! Geen probleem!
Eerst noemen we pts, kort voor punten, als een numpy array van coördinaten. Dan gebruiken we cv2.polylines om de lijnen te tekenen. De parameters zijn als volgt: waar wordt het object naartoe getekend, de coördinaten, moeten we het laatste en het beginpunt “verbinden”, de kleur, en nogmaals de dikte.
Het laatste wat je misschien wilt doen is op de afbeelding schrijven. Dit kan zo worden gedaan:
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV Tuts!',(0,130), font, 1, (200,255,155), 2, cv2.LINE_AA)
De volledige code tot dit punt zou iets zijn als:
Het resultaat:
In de volgende tutorial, gaan we de basis beeldbewerkingen behandelen die we kunnen uitvoeren.
Geef een antwoord