OpenCV无法连接到X服务器

我正在尝试使用面部检测应用程序进行测试,但是运行脚本时出现错误cannot connect to X server。如果删除cv2.imshow("Output",image)函数,一切正常。有什么想法可以解决这个问题吗?这是我正在使用的脚本:

from tensorflow.keras.applications.mobilenet_v2 import preprocess_input
from tensorflow.keras.preprocessing.image import img_to_array
from tensorflow.keras.models import load_model
import numpy as np
import argparse
import cv2
import os

def mask_image():
    ap = argparse.ArgumentParser()
    ap.add_argument("-i","--image",required=True,help="path to input image")
    ap.add_argument("-f","--face",type=str,default="face_detector",help="path to face detector model directory")
    ap.add_argument("-m","--model",default="mask_detector.model",help="path to trained face mask detector model")
    ap.add_argument("-c","--confidence",type=float,default=0.5,help="minimum probability to filter weak detections")
    args = vars(ap.parse_args())

    prototxtPath = os.path.sep.join([args["face"],"deploy.prototxt"])
    weightsPath = os.path.sep.join([args["face"],"res10_300x300_ssd_iter_140000.caffemodel"])
    net = cv2.dnn.readNet(prototxtPath,weightsPath)

    image = cv2.imread(args["image"])
    orig = image.copy()
    (h,w) = image.shape[:2]

    blob = cv2.dnn.blobFromImage(image,1.0,(300,300),(104.0,177.0,123.0))

    net.setInput(blob)
    detections = net.forward()

    for i in range(0,detections.shape[2]):
        confidence = detections[0,i,2]

        if confidence > args["confidence"]:
            box = detections[0,3:7] * np.array([w,h,w,h])
            (startX,startY,endX,endY) = box.astype("int")

            (startX,startY) = (max(0,startX),max(0,startY))
            (endX,endY) = (min(w - 1,endX),min(h - 1,endY))

            face = image[startY:endY,startX:endX]
            face = cv2.cvtColor(face,cv2.COLOR_BGR2RGB)
            face = cv2.resize(face,(224,224))
            face = img_to_array(face)
            face = preprocess_input(face)
            face = np.expand_dims(face,axis=0)

            color = (0,255)
    
            cv2.rectangle(image,(startX,startY),(endX,endY),color,2)

    cv2.imshow("Output",image)
    cv2.waitKey(0)
    
if __name__ == "__main__":
    mask_image()
ACACmi 回答:OpenCV无法连接到X服务器

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1333157.html

大家都在问