Так что это будет звучать грязно. У меня есть файл jar, который я собрал на своем ноутбуке, и использую Raspberry Pi. Этот файл JAR загружает сервер, и на пи у меня есть python клиент. Сервер java на банке ожидает клиента python:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
port = 8080
s.connect(('',port))
direc = '/home/pi/testPy/FinalIMG/'
cap = cv2.VideoCapture(0)
#cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('J','P', 'E', 'G'))
time.sleep(2)
subtractor = cv2.createBackgroundSubtractorMOG2(history=10, varThreshold=5, detectShadows = False)
while True:
_, frame = cap.read()
mask = subtractor.apply(frame)
mask3 = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
final = cv2.bitwise_and(frame, mask3)
tf = tempfile.NamedTemporaryFile('w+b', -1, 'WK',"WK", direc, True)
linename = tf.name +""".png
"""
cv2.imwrite(linename, final)
time.sleep(1)
s.sendall(linename.encode())
print("Name sent")
time.sleep(2)
os.remove(tf.name+ ".png")
tf.close()
s.close()
cap.release()
И у меня есть банка, которая пытается поднять ее:
InputStream input = socket.getInputStream();
in = new BufferedReader(new InputStreamReader(input));
String line;
String path;
while ((line = in.readLine()) != "Over")
{
Thread.sleep(1000);
System.out.println(line);
path = line.substring(25, line.length());
// String is = new String(new File(line).toURI().toString());
// System.out.println(path);
InputStream is = getClass().getResourceAsStream(path);
Image img = new Image(is, 200, 200, false, false);
Очевидно, что пока l oop закрывается, но код останавливается на:
InputStream is = getClass().getResourceAsStream(path);
и ошибка java .io.FileNotFoundException, однако, я могу увидеть файл в проводнике на пи. Пи работает с распбианским натяжением, и это 3B +
Где я ошибся? Почему он не видит файл?