在Spark本地模式下运行C ++(openCV)应用程序

时间:2018-12-20 11:13:04

标签: c++ apache-spark

我想在 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。谁能帮我吗?

0 个答案:

没有答案