用已经画出bbox的图片进行目标检测的代码
时间: 2024-03-30 13:35:58 浏览: 65
以下是使用 OpenCV 库对已经画出 bbox 的图片进行目标检测的 Python 代码示例:
```python
import cv2
# 读取图片
image = cv2.imread("image_with_bbox.jpg")
# 显示原图
cv2.imshow("Original Image", image)
# 提取 bbox
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edged = cv2.Canny(gray, 50, 200)
contours, hierarchy = cv2.findContours(edged, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 绘制 bbox
for cnt in contours:
x,y,w,h = cv2.boundingRect(cnt)
cv2.rectangle(image, (x,y), (x+w,y+h), (0,255,0), 2)
# 显示带有 bbox 的图片
cv2.imshow("Image with Bbox", image)
# 等待按键操作
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们首先使用 OpenCV 库读取一张图片,然后提取 bbox。具体的做法是,先将图片转换成灰度图,然后使用 Canny 边缘检测算法提取轮廓,最后使用 `cv2.boundingRect()` 函数计算出每个轮廓的 bbox。接下来,我们在原图上绘制出这些 bbox,最终显示带有 bbox 的图片。
阅读全文