python - 树莓派 3 opencv python 和 pyinstaller
问题描述
我已使用此 OpenCV 代码通过 TCP 捕获 Raspberry picamera 流,并且此代码工作正常但是当我使用 pyinstaller 使用此链接制作可执行文件时
可执行文件不工作窗口消失这里是我的代码:
#!/usr/bin/python
import cv2
import threading
import numpy as np
import socket
import sys
import pickle
import struct
cam1_ip = "tcp://192.168.7.14:9002"
cam2_ip = "tcp://192.168.7.10:9002"
cam3_ip = "tcp://192.168.7.12:9002"
class pvcameraThread(threading.Thread):
def __init__(self, previewName, camSource):
threading.Thread.__init__(self)
self.previewName = previewName
self.camSource = camSource
def run(self):
print ("Starting " + self.previewName)
camPreview(self.previewName, self.camSource)
def camPreview(previewName, camSource):
cv2.namedWindow(previewName)
cam = cv2.VideoCapture(camSource)
if cam.isOpened():
rval, frame = cam.read()
else:
rval = False
while rval:
# cv2.resizeWindow(previewName, 607,507)
cv2.imshow(previewName, frame)
rval, frame = cam.read()
key = cv2.waitKey(1)
if key == 113:
break
cv2.destroyWindow(previewName)
if __name__ == '__main__':
# Create two threads as follows
cam1_previewthread = pvcameraThread("CAM1_Preview", cam1_ip)
cam2_previewthread = pvcameraThread("CAM2_Preview", cam2_ip)
cam3_previewthread = pvcameraThread("CAM3_Preview", cam3_ip)
cam1_previewthread.start()
cam2_previewthread.start()
cam3_previewthread.start()
i
解决方案
我认为这个答案会对你有所帮助。这个答案的总结是 pyinstaller 并不完美,有时您需要手动添加库。 https://stackoverflow.com/a/38987705/10373782
推荐阅读
- java - 计算 sql 中的平均值并使用 jdbc 更新它
- http2 - HTTP/2 中的标头如何在客户端和服务器端保持同步?
- java - websphere 7 中的应用程序部署失败
- python - Hadoop(Hive)中是否有类似存储过程/作业的东西
- python-3.x - Python CSV 罗宾汉
- javascript - 如何选择元素的第二个孩子而不选择它的第一个孩子的孩子
- angular - angular6 angularfire 未初始化
- reactjs - 如何在不使用 npm 的情况下正确呈现 react datepicker?
- java - 使用 Apache cxf 2.x 和 Wsimport 生成客户端代码
- android - 在 Oreo+ 中记录通话