在Android上加载图片并使用卤化物对其进行处理

时间:2018-12-30 14:22:13

标签: android halide

我将通过提供的file_path加载图像,然后对其进行降采样然后保存。整个过程应该在android设备上完成。

我在将图像加载到设备上并转换为halide :: buffer时遇到麻烦。

如果我像这样使用Halide :: Tools :: load_image不能在android上运行

JNIEXPORT bool JNICALL Java_com_example_boxdownsample_MainActivity_downsample(
        JNIEnv *env, jobject obj, jstring file_path) { ...
    const char *path = env->GetStringUTFChars(file_path, NULL);
    std::string work_path = path;
    LOGD("the path is:%s", path);
    std::string input_file = work_path + "input.png";
    std::string output_file = work_path + "output.png";

    Halide::Buffer<uint16_t> input = Halide::Tools::load_image(input_file);//load_image didn't work ....
    int ret = box_downsample_halide(input, downsample_factor, output_u16); //box_downsample_halide is a static lib generated by halide generator
    ... } }

那么,我使用错了吗?要么 我应该使用java(它将是位图格式)加载它,然后将其编码为halide :: buffer,但这似乎有点困难和间接。

有没有更简单的方法?

谢谢!

更新: 我找到了一种方法,以防万一谁也需要此方法,请转到我的github

0 个答案:

没有答案