如何改变opencv检测到的刻度的形状

How to change shape of opencv detected scale

我的问题是矩形的宽度和高度相等,我想将其更改为矩形而不是正方形(宽度和高度不同)


这是我的代码

img = cv2.imread(pic)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
coils,reject,level = coil_cascade.detectMultiScale3(gray,1.3,5, outputRejectLevels=True)
for (x,y,w,h) in coils:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    cv2.imshow('img',img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

如果你用正方形训练它,它当然会输出正方形。两个维度只有一个比例因子。

要改变它,要么用所需的纵横比训练它,要么在绘制之前改变矩形。