【发布时间】:2021-08-23 08:27:51
【问题描述】:
我在图像中有一个文本,它周围有一个边界框,如下所示:
我要做的是找到左上角和右下角的坐标来计算矩形的对角线。 我在 python 库中没有发现任何特别的东西。 这是矩形的代码:
image = cv2.imread('output.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blur = cv2.GaussianBlur(gray, (9,9), 0)
thresh =
cv2.adaptiveThreshold(blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY_INV,11,30)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (9,9))
dilate = cv2.dilate(thresh, kernel, iterations=4)
cnts = cv2.findContours(dilate, cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
ROI_number = 0
for c in cnts:
area = cv2.contourArea(c)
if area > 10000:
x,y,w,h = cv2.boundingRect(c)
boundbox = cv2.rectangle(image, (x, y), (x + w, y + h),
(36,255,12), 3)
有什么想法吗? 提前谢谢!
【问题讨论】:
-
您正在创建具有左上角和右下角的矩形。你有什么问题?
-
@JanWilamowski 你是什么意思?它们不是坐标
-
也许我不明白。你想计算边界矩形的对角线吗?你用
cv2.boundingRect(c)检索的那个? -
@JanWilamowski 我想要矩形的角坐标(以像素为单位),boundingRect 没有给我
-
代码创建了一个
boundbox,坐标为(x, y), (x + w, y + h)。这不是你想要的吗?
标签: python-3.x image-processing python-imaging-library opencv3.0 farsi