Я загружаю много изображений, чтобы поместить мою модель. Я столкнулся с проблемой создания рамки.проблема в том, что когда я запускаю код, все фотографии всплывают одновременно, я пытаюсь сделать так, чтобы он отображался последовательно, чтобы он не работал, плюс это последнее открытое фото, я могу нанести на него прямоугольник, но другие фотографии этого не сделалипозвольте мне нарисовать прямоугольник
import os
import cv2
from matplotlib.widgets import RectangleSelector
import matplotlib.pyplot as plt
функция закрытия открываемой фотографии
def onkeypress(event):
global object_list
global tl_list
global br_list
global img
if event.key =='q':
print(tl_list, br_list)
tl_list = []
br_list = []
object_list = []
img = None
plt.close()
это цикл для открытия фотографий и рисования прямоугольников
if __name__ == '__main__' :
for n, image_file in enumerate(os.scandir(image_folder)):
img = image_file
fig, ax = plt.subplots(1)
#mngr = plt.get_current_fig_manager()
#mngr.window.setGeometry(250, 120, 1280, 1024)
image = cv2.imread(image_file.path)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
ax.imshow(image)
toggle_selector.RS = RectangleSelector(
ax, line_select_callback,
drawtype = 'box', useblit = True,
button = [1], minspanx = 5, minspany = 5,
spancoords = 'pixels', interactive = True
)
#plt.connect('button_press_event', line_select_callback)
bbox = plt.connect('key_press_event', toggle_selector)
key = plt.connect('key_press_event', onkeypress)
#cv2.waitKey(0)
plt.imshow(image)
plt.show()
я ожидаю, что вывод этой фотографии из каталога откроется, определите граничную рамку и нажмите «q», чтобы закрыть ее и открыть следующую и т. д.