Pascal Voc XML dosyasından bir resme sınırlayıcı çerçeve(bound box) çizme

import cv2
import xml.etree.ElementTree as ET
import random
# XML dosyasını açın ve ağaç yapısını analiz edin
tree = ET.parse('C:\\Users\\MAHMUT-PC\\Desktop\\kaggle-sainfoin-dataset\\train\\20_mixed_flash_only_nt_IMG_0019.xml')
root = tree.getroot()
# Renklerin sözlüğü
color_map = {'pods': (127, 127, 127), 'seeds': (255, 127, 127), 'split': (255, 255, 0)}
# Resim dosyasını yükleyin
img = cv2.imread('C:\\Users\\MAHMUT-PC\\Desktop\\kaggle-sainfoin-dataset\\train\\20_mixed_flash_only_nt_IMG_0019.jpg')
# Tüm nesnelerin etiketlerini ve sınırlayıcı kutularını bulun
for i, obj in enumerate(root.findall('object')):
label = obj.find('name').text
bbox = obj.find('bndbox')
xmin = int(bbox.find('xmin').text)
ymin = int(bbox.find('ymin').text)
xmax = int(bbox.find('xmax').text)
ymax = int(bbox.find('ymax').text)
# Eğer renk daha önce seçilmemişse, rastgele bir renk seçin
if label not in color_map:
color_map[label] = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
# Sınırlayıcı kutuyu resimde çizin ve sınıf adını yazdırın
color = color_map[label]
cv2.rectangle(img, (xmin, ymin), (xmax, ymax), color, 2)
#cv2.putText(img, label, (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, color, 2)
cv2.putText(img, label, (xmin, ymin - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 1)
# Sonucu göster
filename = "tohumlar-renkli.jpg"
cv2.imshow(filename, img)
cv2.imwrite(filename, img)
cv2.waitKey(0)
cv2.destroyAllWindows()
No module named 'cv2'
hatası, OpenCV kütüphanesinin yüklü olmadığını gösterir. Bu hatayı düzeltmek için, OpenCV kütüphanesini yüklemeniz gerekmektedir. Bunun için, aşağıdaki komutu kullanarak OpenCV kütüphanesini yükleyebilirsiniz:
pip install opencv-python
Bu komutu kullanarak OpenCV kütüphanesini yükledikten sonra, kodu yeniden çalıştırarak cv2 modülünün yüklenip yüklenmediğini kontrol edebilirsiniz.