这应该会识别图像中的汽车并在它们周围画出方块,我不知道为什么它不能工作……有人能给我一些提示吗?
没有检测到的代码和图像:IMAGE
import os
from cv2 import cv2
import matplotlib.pyplot as plt
import cvlib as cv
from cvlib.object_detection import draw_bbox
im =cv2.imread("C:\\Users\\gmobi\\PycharmProjects\\ComputerVisionStudent\\imagens\\carros.jpeg")
bbox, label, conf = cv.detect_common_objects(im)
output_image = draw_bbox(im, bbox, label, conf)
plt.imshow(output_image)
plt.show()
print('Number of cars in the image is ' + str(label.count('car')))已安装的软件包:
Keras: 2.2.5
cvlib: 0.2.2
opencv-python: 4.1.1.26
tensorflow: 1.14.0
matplotlib: 3.1.1我的设置:IMAGE
发布于 2020-06-15 03:01:16
cvlib用于对象检测的网络是YoloV3。该网络期望获得RGB颜色空间的图像,而不是opencv cv2.imread返回的BGR颜色空间。
因此,我认为应该将图像的颜色空间从BGR转换为RGB。
im =cv2.imread("C:\\Users\\gmobi\\PycharmProjects\\ComputerVisionStudent\\imagens\\carros.jpeg")
im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)另一个原因可能是图像中对象的大小。Yolo的输入大小约为411x411像素,因此您的图像将在插入网络之前调整大小,而在调整大小后,对象将看起来很小。尝试裁剪图像,然后将其插入。
Im = im:412,:412,:
https://stackoverflow.com/questions/62375798
复制相似问题