This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5728:C66X_IMG_LIB 问题

Guru**** 2923960 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/656300/linux-am5728-c66x_img_lib-questions

器件型号:AM5728

工具/软件:Linux

您好!

我们希望在 DSP 上加速算法。

1.我们尝试使用 OpenCV 来进行硬化,如 erdo()和 dilate(),  

"cv::ocl::setUseOpenCL (true);"、"export OpenCV_OpenCL_DEVICE_='TI AM57:加速器:TI 多核 C66 DSP'"、然后完成了 UMat。

但使用 OpenCL 进行加速或不加速没有什么不同。

我们尝试创建自己的 OpenCL 内核、该内核与 C66x_IMG_LIB 链接。

我们实现了这一点。 但我们不知道如何使用 LIB 中的函数。

例如:erime():

主机端:

kernel.setArg(0、bufA);
kernel.setArg(1、bufDst);
kernel.setArg(2,256*256);

DSP 端:

void IMG_erode_bin (const unsigned char * restrict in_data、unsigned char * restrict out_data、const char * restrict mask、int cols);
内核空 maskVector (全局 const uchar* src、全局 uchar* dst、const int cols)


const char arry[9]={
1、1、1、
1、1、1、
1、1、1  
};

img_erode_bin ((const unsigned char *) src、(unsigned char *) dst、arry、cols);

e2e.ti.com/.../output.zip

我们不知道输出 img 为何全为黑色。

请帮帮我们。

此致。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在尝试将函数与 OpenCL 结合使用之前、您是否曾尝试在仅 DSP 环境中测试该函数。 仅使用 DSP 时、函数的输出是否正确? 如果输出为零、最可能的原因是来自 ARM 的输入未正确传递到 DSP。 这可能是地址转换问题,高速缓存问题? 有没有方法可以通过添加自旋锁来停止 DSP、并查看 DSP 是否接收到正确的输入。

    此致、
    Rahul
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复
    我们对如何使用 IMG_ELOT_BIN ()感到困惑
    我们可以从 IMG_DELOG_BIN.c 中看到、一个 piexl 操作一个位。
    这是否意味着我们应该将256x256字节的映像压缩为256x256位?
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    IMGLIB 用户手册中介绍了当前的实现方式:
    IMGLIB_c66x_3_1_1/0/docs/doxygen/html/IMGLIB_html/group___i_m_g__erode__bin.html

    函数 IMG_ELOT_BIN ()使用任意的3x3掩码实现二进制侵蚀。 腐蚀运算符通过将输入掩码下的像素与相结合来生成输出像素、从而生成输出像素。 输入掩码指定是否忽略来自输入的一个或多个像素。

    您还可以查看 C 实现、而不是内在实现、了解它如何处理输入数据。

    此致、
    Rahul