简体   繁体   English

尝试运行基于 PysimpleGUIqt 的代码时出错

[英]Error when trying to run code based on PysimpleGUIqt

I am trying to run a code using PysimpleGUIqt but it gives following error:我正在尝试使用 PysimpleGUIqt 运行代码,但它给出了以下错误:

在此处输入图像描述

I have tried to install windows but getting following error:我尝试安装windows但收到以下错误:

在此处输入图像描述

If I try to install window it will be installed but error remains.如果我尝试安装window它将被安装但错误仍然存在。 I even installed pyqt5 but nothing changed.我什至安装了 pyqt5 但没有任何改变。 Have no idea how to solve it.不知道如何解决它。 The whole code is attached below for your reference which is originally taken from here :整个代码附在下面供您参考,最初取自此处

import numpy as np
import argparse
import time
import cv2
import os
import PySimpleGUIQt as sg

layout =    [
        [sg.Text('YOLO')],
        [sg.Text('Path to image'), sg.In(r'C:/Python/PycharmProjects/YoloObjectDetection/images/baggage_claim.jpg',size=(40,1), key='image'), sg.FileBrowse()],
        [sg.Text('Yolo base path'), sg.In(r'yolo-coco',size=(40,1), key='yolo'), sg.FolderBrowse()],
        [sg.Text('Confidence'), sg.Slider(range=(0,10),orientation='h', resolution=1, default_value=5, size=(15,15), key='confidence')],
        [sg.Text('Threshold'), sg.Slider(range=(0,10), orientation='h', resolution=1, default_value=3, size=(15,15), key='threshold')],
        [sg.OK(), sg.Cancel(), sg.Stretch()]
            ]

win = sg.Window('YOLO',
                default_element_size=(14,1),
                text_justification='right',
                auto_size_text=False).Layout(layout)
event, values = win.Read()
args = values
win.Close()

args['threshold'] = float(args['threshold']/10)
args['confidence'] = float(args['confidence']/10)

labelsPath = os.path.sep.join([args["yolo"], "coco.names"])
LABELS = open(labelsPath).read().strip().split("\n")

np.random.seed(42)
COLORS = np.random.randint(0, 255, size=(len(LABELS), 3),
    dtype="uint8")

weightsPath = os.path.sep.join([args["yolo"], "yolov3.weights"])
configPath = os.path.sep.join([args["yolo"], "yolov3.cfg"])

print("[INFO] loading YOLO from disk...")
net = cv2.dnn.readNetFromDarknet(configPath, weightsPath)

image = cv2.imread(args["image"])

(H, W) = image.shape[:2]

ln = net.getLayerNames()
ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]


blob = cv2.dnn.blobFromImage(image, 1 / 255.0, (416, 416),
    swapRB=True, crop=False)
net.setInput(blob)
start = time.time()
layerOutputs = net.forward(ln)
end = time.time()


print("[INFO] YOLO took {:.6f} seconds".format(end - start))


boxes = []
confidences = []
classIDs = []

for output in layerOutputs:
    for detection in output:
        
        scores = detection[5:]
        classID = np.argmax(scores)
        confidence = scores[classID]

    
        if confidence > args["confidence"]:
        
            box = detection[0:4] * np.array([W, H, W, H])
            (centerX, centerY, width, height) = box.astype("int")

            
            x = int(centerX - (width / 2))
            y = int(centerY - (height / 2))

        
            boxes.append([x, y, int(width), int(height)])
            confidences.append(float(confidence))
            classIDs.append(classID)


idxs = cv2.dnn.NMSBoxes(boxes, confidences, args["confidence"],
    args["threshold"])

if len(idxs) > 0:
    for i in idxs.flatten():
        (x, y) = (boxes[i][0], boxes[i][1])
        (w, h) = (boxes[i][2], boxes[i][3])

        color = [int(c) for c in COLORS[classIDs[i]]]
        cv2.rectangle(image, (x, y), (x + w, y + h), color, 2)
        text = "{}: {:.4f}".format(LABELS[classIDs[i]], confidences[i])
        cv2.putText(image, text, (x, y - 5), cv2.FONT_HERSHEY_SIMPLEX,
            0.5, color, 2)

imgbytes = cv2.imencode('.png', image)[1].tobytes()  # ditto


layout =    [
        [sg.Text('Yolo Output')],
        [sg.Image(data=imgbytes)],
        [sg.OK(), sg.Cancel()]
            ]

win = sg.Window('YOLO',
                default_element_size=(14,1),
                text_justification='right',
                auto_size_text=False).Layout(layout)
event, values = win.Read()
win.Close()

cv2.waitKey(0)

EDIT:编辑:

Based on suggestions made by @Robert Davis I have tried to modify %QT_PLUGIN_PATH% but there was no such path in my system environment.根据@Robert Davis 提出的建议,我尝试修改%QT_PLUGIN_PATH%但我的系统环境中没有这样的路径。

It looks strange but I just made this change in the preamble:它看起来很奇怪,但我只是在序言中做了这个改变:

import PySimpleGUI as sg

Instead of:代替:

import PySimpleGUIQt as sg

And it is all well now.现在一切都很好。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试运行我的 tensorflow 代码时出错 - error when trying to run my tensorflow code 尝试在 pycharm 上运行代码以及在 cmd 中输入 pip 时出错 - error when trying to run a code at pycharm and when typing pip at the cmd 尝试在 Visual Studio Code (Flatpak) 中运行 PyAudio 时出现错误消息 - Error message when trying to run PyAudio in Visual Studio Code (Flatpak) 尝试运行具有更高 integer 值 (n > 20) 的代码时出错 - Error when trying to run code with a higher integer value (n > 20) 当我尝试运行代码时,它会出错 - When I am trying to run the code it gives error 尝试运行pip时出错 - Error when trying to run pip 我正在尝试运行现有代码,但是当我尝试运行代码时,错误显示“没有名为 fetch 的模块” - I am trying to run and existing code but when I try to run the code the error shows “No module named fetch” 如何在尝试运行一个CNN相关代码时解决python代码中“无属性”的错误? - How to resolve Error of “has no attribute” in python code when trying to run one CNN related code? Python-尝试运行代码时,什么也没有发生。 我什至没有出错 - Python - When trying to run the code nothing happens. I don't even get an error 尝试运行python代码的GLSL错误 - GLSL error trying to run python code
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM