我想在 spark 下运行一个c ++应用程序,该应用程序使用 opencv2 显示一个图像。
以下是TestCode.cpp文件:
#include <iostream>
#include <fstream>
#include <opencv2/opencv.hpp>
#include <opencv/highgui.h>
#include <opencv2/core/version.hpp>
int main(){
std::cout<< "Hello world!"<<std::endl;
cv::Mat image=cv::imread("/MY_PATH/1.jpg",CV_LOAD_IMAGE_GRAYSCALE);
cv::imshow("",image);
cv::waitKey(0);
return 0;
}
对于pyspark,我使用 pipe 来调用此c ++可执行bin文件(TestCode)
from pyspark import SparkContext, SparkConf
app_name = "Test_spark"
def init_sparkContext(app_name):
APP_NAME = app_name
conf = SparkConf().setAppName(APP_NAME)
conf.setMaster("local")
sc = SparkContext(conf=conf)
return sc
sc = init_sparkContext(app_name)
rdd = sc.parallelize([])
piped = rdd.pipe("/MY_PATH/TestCode")
print piped.collect()
运行此.py文件后,无法显示图片。我遇到了这个问题:
QXcbConnection:无法连接到显示器
但是我可以在控制台中运行./TestCode
并正确显示图片。
我已经在我的PC中安装了Qt。谁能帮我吗?