numpy 无法将图发送到http://127.0.0.1:63342

mbzjlibv  于 2023-03-30  发布在  其他
关注(0)|答案(6)|浏览(291)

我面临一个错误,即使用python,numpy和matplotlob将plot发送到特定的IP地址。我正在附加片段,我已经尝试到现在。

巨蟒

import numpy as np
     import cv2
     from matplotlib import pyplot as plt
     img = cv2.imread('ml.png', 1)
     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)


    img2 = cv2.imshow('img', img)
    cv2.waitKey(0)
    corners = cv2.goodFeaturesToTrack(gray, 30, 0.01, 10)
     corners = np.int0(corners)

    for i in corners:
    x, y = i.ravel()
    cv2.circle(img, (x, y), 10, 50, 0)
    plt.imshow(img), plt.show()
    MIN_MATCHES = 15
    cap = cv2.imread('mario.png', 0)
     model = cv2.imread('mario 3d.jpg', 0)

    # create brute force  matcher object
    bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
    # Compute model keypoints and its descriptors
    kp_model = cv2.goodFeaturesToTrack(model, 20, 0.01, 15)
    des_model = cv2.goodFeaturesToTrack(model, 20, 0.01, 15)
    # Compute scene keypoints and its descriptors
    kp_frame = cv2.goodFeaturesToTrack(cap, 20, 0.01, 15)
    des_frame = cv2.goodFeaturesToTrack(cap, 20, 0.01, 15)
    # Match frame descriptors with model descriptors
    matches = bf.match(des_model, des_frame)
    # Sort them in the order of their distance
    matches = sorted(matches, key=lambda x: x.distance)

    if len(matches) > MIN_MATCHES:
        # draw first 15 matches.
        cap = cv2.drawMatches(model, kp_model, cap, kp_frame,
                              matches[:MIN_MATCHES], 0, flags=2)
        # show result
        cv2.imshow('frame', cap)
        cv2.waitKey(0)
    else:
        print

错误:

Error: failed to send plot to http://127.0.0.1:63342

urlopen(url, buffer)    
return opener.open(url, data, timeout)    
response = self._open(req, data)    
result = self._call_chain(self.handle_open, protocol, protocol +    
result = func(*args)    
return self.do_open(http.client.HTTPConnection, req)    
r = h.getresponse()    
response.begin()    
version, status, reason = self._read_status()    
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")    
return self._sock.recv_into(b)    
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
Traceback (most recent call last):    
matches = bf.match(des_model, des_frame)    
cv2.error: OpenCV(4.3.0) C:\projects\opencv-python\opencv\modules\core\src\batch_distance.cpp:275: error: (-215:Assertion failed) type == src2.type() && src1.cols == src2.cols && (type == CV_32F || type == CV_8U) in function 'cv::batchDistance'
4xy9mtcn

4xy9mtcn1#

我也有“错误:当尝试在PyCharm中显示matplotlib图时,无法将图发送到错误消息。我通过禁用设置〉工具〉Python Scientific下的“在工具窗口中显示图”选项来修复它。如果错误消息仍然存在,请尝试在PyCharm之外重现错误

ijxebb2r

ijxebb2r2#

取消选中设置〉〉工具〉〉Python Scientific〉〉下的“在工具窗口中显示图

bz4sfanl

bz4sfanl3#

我发现这个问题出现时,我有太多的运行堆积在Pycharm上的情节窗口.换句话说,它是“满”.清除旧的情节后,它能够再次发送情节到窗口.没有禁用它.重启我的电脑也工作,但这可能是因为它清除了窗口以及.:-)希望这有帮助!

9vw9lbht

9vw9lbht4#

另一个对我有用的方法是将localhost添加到no_proxy环境变量中

export no_proxy=$no_proxy,127.0.0.1:63342
8qgya5xd

8qgya5xd5#

对于我的情况,这是因为我的VPN V2rayU启用了全局代理模式。一旦禁用它,错误就消失了。

eagi6jfj

eagi6jfj6#

上面的所有解决方案对我都不起作用。简单的重启PyCharm就解决了这个问题。

相关问题