Skip navigation

Befoglaló téglap és minimális befoglaló téglalap

Befoglaló téglalap

A befoglaló téglalap az a legkisebb téglalap, amelynek oldalai párhuzamosak a tengelyekkel és a téglalap tartalmazza az alakzatot.

Befoglaló téglalap

Minimális befoglaló téglalap

Az a minimális téglalap, amely tartalmazza az alakzatot. Ennek oldalai, nem feltétlen párhuzamosak a tengelyekkel.

Példaprogram

import cv2
import numpy as np

img = cv2.imread("dolphin.png",cv2.IMREAD_GRAYSCALE);

retval, inv_img = cv2.threshold(img, 0,255, cv2.THRESH_BINARY_INV); # invertalom
img2, contour, hierarchy = cv2.findContours(inv_img,cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE);
x,y,w,h = cv2.boundingRect(contour[0]);

eredmeny = cv2.rectangle(inv_img, (x,y),(x+w,y+h), color=128, thickness=2);

cv2.imwrite("befoglalo_teglalap.png", eredmeny);
cv2.imshow("befoglalo teglalap",eredmeny);
#cv2.waitKey(0)

minrect = cv2.minAreaRect(contour[0]);
box = cv2.boxPoints(minrect);
box = np.int0([box]);
cv2.drawContours(img, [box],0,(0,0,128),2);
cv2.imshow("minimalis befoglalo teglalap",img);
cv2.waitKey(0)