import cv2
import numpy as np
"""
查找图像轮廓,计算图像矩,根据公式计算轮廓周长和面积
面积:cv2.contourArea()|M['m00']
周长:cv2.arcLength()
有两类边界矩形,直边界矩形,旋转边界矩形。
直边界矩形(就是没有旋转的矩形),使用函数cv2.boundingRect()可以查找到,
因为直边界矩形不考虑矩形旋转,所以直边界矩形的面积不是最小。
旋转矩形,这个矩形的面积最小,因为他考虑了矩形的旋转。
使用函数cv2.minAreaRect可以得到,函数返回一个Box2D结构,
其中包含旋转矩形左上角坐标(x, y),矩形的宽高(w, h),以及旋转角度。
但是绘制一个矩形需要四个角点,可以通过函数cv2.boxPoints()获得。
approxPolyDP(curve, epsilon, closed[, approxCurve]) -> approxCurve
第二个参数epsilon:指定原始轮廓到近似轮廓的最大距离,函数返回拟合的多边形边数。
"""
def stackImages(scale, imgArray):
rows = len(imgArray)
cols = len(imgArray[0])
rowsAvailable = isinstance(imgArray[0], list)
width = imgArray[0][0].sha