本地
- 系统:Windows10
- 软件:Xshell + Xming
服务器
- 系统: Centos 7
- 依赖: opencv-3.4.5
- 代码:
#include <opencv2/opencv.hpp>
#include <stdio.h>
int main()
{
cv::Mat img = cv::imread("2.jpg");
if(img.empty())
{
printf("img is empty\n");
return -1;
}
cv::imwrite("new.jpg", img);
printf("Write done\n");
cv::imshow("new", img);
if (cv::waitKey() == 27) {
return 0;
}
return 0;
}
-
安装XMing,打开安装目录中的X0.hosts,增加目标服务器的IP地址。
-
修改 ~/.bashrc,添加
export DISPLAY=127.0.0.1:0.0
,执行source ~/.bashrc
使其生效。 -
在XShell中选择 转发X11 如下:
-
(非必须操作) 在网上看到的资料,几乎没有这一步,所以应该是我个别情况。
- 现象:
- 仅执行前三步后没有报错,但是调用
cv::imshow
阻塞,经过一段时间后提示 “Gtk-WARNING **: 01:43:47.131: cannot open display:”。 - 在服务器端ping不通本地IP。
- 仅执行前三步后没有报错,但是调用
- Solution:设置IP转移,如下:
其中6000 是 x-server 的端口。
至此, 成功显示:
- 现象: