Skip navigation

Képmegjelenítő ablakok

Lehetőségek

Az OpenCV HighGUI modulja lehetőséget ad képmátrixok ablakban történő megjelenítésére.

  • Az ablaknak szöveges azonosítót kell adnunk, ezzel hivatkozhatunk rá később. Egyszerre több ablak is megjelenhet, így a neveiknek egyedinek kell lennie!
  • Az ablak fejlécében alapértelmezésként az azonosítója fog megjelenni. Ezt a szöveget lehetőségünk van felüldefiniálni. Ez a módosítás csak az ablak fejlécre vonatkozik, az ablak azonosítója a korábbi marad!
  • Ablakot be tudunk zárni. Lehetőségünk van az összes ablak egy függvényhívással történő bezárására is.
  • Egy ablakot elmozgathatunk más helyre és átméretezhetünk. Ez utóbbival nem foglalkozunk itt.
  • Egér használattal kijelölhetünk a képen téglalp alakú területet.

Használat

A használatot az A_01_highgui_window.py példaprogram szemlélteti.

Kép betöltése és megjelenítése adott nevű ablakban. Billentyű lenyomás után az ablak eltűnik.

img = cv2.imread('OpenCV-logo.png')

cv2.imshow('imshow', img)
cv2.waitKey(0)
cv2.destroyWindow('imshow')

Megjeleníthetünk egy üres ablakot is, amelyben majd később jelenítünk meg tartalmat.

cv2.namedWindow('namedWindow')
cv2.waitKey(0)
cv2.imshow('namedWindow', img)

Megváltoztatjuk az ablak fejléc szövegét és új helyre mozgatjuk.

cv2.setWindowTitle('namedWindow', 'namedWindow title')
cv2.moveWindow('namedWindow', 200, 300)

Téglalap alakú terület kijelölése és eredményének konzolra írása.

print('Válassz célterületet! Bal egérgomb + mozgatás, majd SPACE vagy ENTER. Megszakítás a c billentyűvel!')
cv2.setWindowTitle('namedWindow', 'Valassz celteruletet!')
roi = cv2.selectROI('namedWindow', img)
print(roi)

Minden ablak bezárása.

cv2.destroyAllWindows()