xshell + xming + opencv 服務器圖片顯示

本地

  • 系統: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;
}

  1. 安裝XMing,打開安裝目錄中的X0.hosts,增加目標服務器的IP地址。

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

  3. 在XShell中選擇 轉發X11 如下:
    在這裏插入圖片描述

  4. (非必須操作) 在網上看到的資料,幾乎沒有這一步,所以應該是我個別情況。

    1. 現象:
      • 僅執行前三步後沒有報錯,但是調用 cv::imshow阻塞,經過一段時間後提示 “Gtk-WARNING **: 01:43:47.131: cannot open display:”。
      • 在服務器端ping不通本地IP。
    2. Solution:設置IP轉移,如下:
      在這裏插入圖片描述
      其中6000 是 x-server 的端口。

    至此, 成功顯示:
    在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章