R329利用X11+SSH无屏幕显示任意窗口(适用于绝大多数linux系统)
1.安装所需软件包
sudo apt-get install xauth x11-apps
2.编辑sshd_config,确保相应的配置如下
sudo vim /etc/ssh/sshd_config
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
X11UseLocalhost no
3.重启
reboot
4.在SSH的log里确保这两项是对勾
5.运行时钟测试程序
xclock
6.运行opencv测试程序
# -*- coding:utf-8 -*-
import numpy as np
import cv2 as cv
import time
cap = cv.VideoCapture(0)
#设置图像的高
cap.set(3,240)
#设置图像的宽,这里虽然设置的是240但是实际上是320,
cap.set(4,240)
while cap.isOpened():
st = time.time()
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
gray = cv.Canny(gray, 200, 300)
fps = 1 / (time.time() - st)
cv.putText(gray, "{0}" .format(fps), (0, 30), cv.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 255), 1)
cv.imshow('frame', gray)
if cv.waitKey(1) == ord('q'):
break
cap.release()
cv.destroyAllWindows()
帧率能达到江津30FPS,网络好点可能会更好,我家路由器是在楼下,信号可能也会有影响,不过同样的代码确实是比原装屏幕要快,原装的屏幕也就20FPS左右,总的来说是非常不错的,今天的这个说白了就是在无桌面操作系统的情况下在本地显示窗口,不过显示matpoltlib的图似乎有点问题,还有上边的opencv代码,把cv.waitKey这段代码删除后显示的弹窗就是一个黑色的方块,显然有问题,希望有懂得大佬可以指教一下
回复777催更