Výukové programy pro Python
On 29 listopadu, 2021 by adminKreslení a psaní na obrázky Výukový program OpenCV v Pythonu
V tomto výukovém programu OpenCV v Pythonu se budeme zabývat tím, jak kreslit různé tvary na obrázky a videa. Je poměrně běžné, že chceme detekované objekty nějakým způsobem označit, abychom my lidé mohli snadno zjistit, zda naše programy fungují tak, jak bychom si přáli. Příkladem může být jeden z dříve zobrazených obrázků:
Pro tento dočasný příklad použiji následující obrázek:
Můžete použít svůj vlastní obrázek. Jako obvykle může náš počáteční kód vypadat nějak takto:
import numpy as npimport cv2img = cv2.imread('watch.jpg',cv2.IMREAD_COLOR)
Dále můžeme začít kreslit, například:
cv2.line(img,(0,0),(150,150),(255,255,255),15)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()
Cv2.line() přebírá následující parametry: kde, počáteční souřadnice, koncové souřadnice, barva (bgr), tloušťka čáry.
Výsledek zde:
Dobře, super, pojďme se pustit do absurdity s dalšími tvary. Další na řadě je obdélník:
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
Parametry zde jsou obrázek, levá horní souřadnice, pravá dolní souřadnice, barva a tloušťka čáry.
A co třeba kruh?
cv2.circle(img,(100,63), 55, (0,255,0), -1)
Parametry zde jsou obrázek/snímek, střed kruhu, poloměr, barva a pak tloušťka. Všimněte si, že pro tloušťku máme -1. To znamená, že objekt bude vlastně vyplněný, takže dostaneme vyplněný kruh.
Čáry, obdélníky a kruhy jsou v pohodě a všechno, ale co když chceme pětiúhelník, osmiúhelník nebo osmiúhelník?! Žádný problém!
Nejprve pojmenujeme pts, zkratku pro body, jako pole souřadnic numpy. Potom pomocí cv2.polylines nakreslíme čáry. Parametry jsou následující: kam se objekt kreslí, souřadnice, máme „spojit“ koncový a počáteční bod, barva a opět tloušťka.
Nakonec můžete na obrázek napsat. To lze provést takto:
font = cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV Tuts!',(0,130), font, 1, (200,255,155), 2, cv2.LINE_AA)
Úplný kód až do tohoto bodu by vypadal nějak takto:
Výsledek:
V příštím kurzu se budeme zabývat základními operacemi s obrázky, které můžeme provádět.
Napsat komentář