xshell + xming + opencv 服务器图片显示

本地

  • 系统:Windows10
  • 软件:Xshell + Xming

服务器

  • 系统: Centos 7
  • 依赖: opencv-3.4.5
  • 代码:
#include 
#include 
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;
}

  1. 安装XMing,打开安装目录中的X0.hosts,增加目标服务器的IP地址。

  2. 修改 ~/.bashrc,添加 export DISPLAY=127.0.0.1:0.0,执行 source ~/.bashrc使其生效。

  3. 在XShell中选择 转发X11 如下:
    xshell + xming + opencv 服务器图片显示_第1张图片

  4. (非必须操作) 在网上看到的资料,几乎没有这一步,所以应该是我个别情况。

    1. 现象:
      • 仅执行前三步后没有报错,但是调用 cv::imshow阻塞,经过一段时间后提示 “Gtk-WARNING **: 01:43:47.131: cannot open display:”。
      • 在服务器端ping不通本地IP。
    2. Solution:设置IP转移,如下:
      xshell + xming + opencv 服务器图片显示_第2张图片
      其中6000 是 x-server 的端口。

    至此, 成功显示:
    xshell + xming + opencv 服务器图片显示_第3张图片

你可能感兴趣的:(linux,opencv)