如何找到图像中主要/局部对象的矩形坐标?

2024-06-08 22:07:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个图像中有几个物体。为了示例:-狗猫,风筝,海洋,天空,树,人

是否有任何开源api可以生成图像中所有对象位置的坐标(x1、y1和x2、y2)。?你知道吗

我使用了以下代码

import cv2 
image = cv2.imread("image.jpg")
gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
edged = cv2.Canny(image, 10, 250)
(cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
idx = 0
for c in cnts:
    x,y,w,h = cv2.boundingRect(c)
    if w>50 and h>50:
        idx+=1
        new_img=image[y:y+h,x:x+w]
        cv2.imwrite(str(idx) + '.png', new_img)
cv2.imshow("im",image)
cv2.waitKey(0)

因此,我使用findcontours()&;boundingRect()来获取坐标,但这段代码并不仅仅在运行。你知道吗


Tags: 代码图像image示例imgnew开源cv2