[英]How to increase size of bounding box using find contour open cv?
I have prepared bounding box for text region using MSER methods.i can increase box size only for one bounding box.我已经使用 MSER 方法为文本区域准备了边界框。我只能为一个边界框增加框大小。 problem is i would like to increase the size of all predicted bounding boxes using Find contour method.问题是我想使用查找轮廓方法增加所有预测边界框的大小。 here with i will enclose my code.在这里,我将附上我的代码。
import cv2
import numpy as np
mser = cv2.MSER_create()
img = cv2.imread("C:/Users/Mani/Desktop/img/87.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
vis = img.copy()
coordinates, bboxes = mser.detectRegions(gray)
for bbox in bboxes:
x, y, w, h = bbox
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cx = x + w//2
cy = y + h//2
cr = max(w,h)//2
dr = 10
idx=0
for i in bbox:
idx+=1
r = cr + i*dr
cv2.rectangle(vis,(cx-r,cy-r),(cx+r,cy+r),(0,255,0),2)
croped =img[cy-r:cy+r,cx-r:cx+r]
cv2.imshow("croped{}".format(i), croped)
You always picking the last of the bboxes
.你总是选择最后一个bboxes
。 To process them all you can add the cropping code to the first for-loop:要处理它们,您可以将裁剪代码添加到第一个 for 循环:
dr = 10
idx=0
for bbox in bboxes:
x, y, w, h = bbox
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
cx = x + w//2
cy = y + h//2
cr = max(w,h)//2
idx+=1
r = cr + i*dr
cv2.rectangle(vis,(cx-r,cy-r),(cx+r,cy+r),(0,255,0),2)
croped =img[cy-r:cy+r,cx-r:cx+r]
cv2.imshow("croped{}".format(i), croped)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.