Skip navigation

Kerület és terület

Előismeret

A kerület és terület számítása is a kontúrból számítható.

A kerület számításakor egy adott pontból indulva körbejárjuk az alakzat kontúrját és inicializálunk egy összeget 0-ra. Ha vízszintesen vagy függőlegesen haladtunk, akkor 1-et, ha átlósan haladtunk a kontúr mentén, akkor pedig -t adunk kontúrhoz.

A terület számítása hasonló elveket követve, de trapézok előjeles területét használva számolható.

Példaprogram

import numpy as np
import cv2

img = cv2.imread("dolphin.png",cv2.IMREAD_GRAYSCALE);
ret,img_inv = cv2.threshold(img,0,255,cv2.THRESH_BINARY_INV);
img, contours,hierarchy = cv2.findContours(img_inv, 1, 2);
cnt = contours[0];


area = cv2.contourArea(cnt);


perimeter = cv2.arcLength(cnt,True); ## True --> zart gorbe

print("terulet = ", area);
print("kerulet = ", perimeter);