Я хотел бы отобразить изображение с использованием нескольких меток в графическом интерфейсе (Qt Designer). Файл изображения должен быть захвачен из текущего рабочего каталога и отображать на нем собственную метку при нажатии пользователем кнопки.Как отобразить изображение из текущего рабочего каталога в Python
Изображение может отображаться в метке_2, когда я жестко закодирован путь к каталогу изображений, но не для метки_1.
def capture_image(self):
cam = cv2.VideoCapture(0)
print('Execute_captureImage')
i = 1
while i <= int(self.qty_selected):
# while i < 2:
ret, frame = cam.read()
cv2.imshow('Please review image before capture', frame)
if not ret:
break
k = cv2.waitKey(1)
if k % 256 == 27:
# ESC pressed
print("Escape hit, closing...")
break
if k % 256 == 32:
# SPACE pressed
self.img_name = self.lotId + '_{}.jpeg'.format(i)
path = 'c:\\Users\\Desktop\\Python\\Testing' + '\\' + self.lotId + '\\' + self.img_name
print('CurrentImage = ' + path)
if not os.path.exists(path):
print('Not yet exist')
cv2.imwrite(
os.path.join('c:\\Users\\Desktop\\Python\\Testing' + '\\' + self.lotId,
self.img_name),
frame)
print("{}".format(self.img_name))
# i += 1
break
else:
print('Image already exist')
i += 1
cam.release()
cv2.destroyAllWindows()
def display_image(self):
label_vid01 = 'c:\\Users\\Desktop\\Python\\Testing' + '\\' + self.lotId + '\\' + self.img_name
label_vid02 = 'c:\\Users\\Desktop\\Python\\Testing' + '\\' + self.lotId + '\\' + self.img_name
# label_vid03 = 'c:/Users/Desktop/Python/Image/image3.jpg'
self.label_vid01.setScaledContents(True)
self.label_vid02.setScaledContents(True)
self.label_vid03.setScaledContents(True)
self.label_vid01.setPixmap(QtGui.QPixmap(label_vid01))
self.label_vid02.setPixmap(QtGui.QPixmap(label_vid02))
print(repr(label_vid01))
print(os.path.exists(label_vid01))
Могу ли я узнать, где ошибка?
«self.lotId» - это текст ввода, основанный на пользовательском вводе.
Что такое вывод 'print (repr (label_1))'? И каков вывод 'print (os.path.exists (label_1))'? – ekhumoro
Я отредактировал путь для label_1 и вывод для печати (repr (label_1)) является 'c: \\ Users \\ Desktop \\ Python \\ Тестирование \\ ABCDE \\ ABCDE_2.jpeg'. И для вывода print (os.path.exists (label_1) есть «True». Теперь проблема заключается в том, как отобразить следующее следующее изображение на label_2? –
Показать код функции, в которой вы устанавливаете изображение на этикетке. – ekhumoro