halcon readimage不支持中文路径?

Halcon v17.x之前的软件版本都不支持中文路径。Hdevelop环境下没问题,但是VC++下会报异常。


read_image (Image, '我是中文.jpg')
bool HalconImageWnd::readImage(const char *ch)
{
    try
    {
        //HalconCpp::SetHcppInterfaceStringEncodingIsUtf8(false);
        //HString::FromLocal8Bit(ch);
        m_image.ReadImage(ch);
        m_image.GetImageSize(&m_width, &m_height);
    }
    catch (...)
    {
        qDebug("readImage error");
        return false;
    }
    ....
}

从Halcon v18.x开始支持中文路径,但是要事先调用下面算子来进行设置支持中文解析:


将本地8位编码的字符串传递给HALCON C或HALCON/C++时,必须更改接口默认编码


HALCON /C调用


HalconCpp::SetHcInterfaceStringEncodingIsUtf8(false);


HALCON/C++调用


HalconCpp::SetHcppInterfaceStringEncodingIsUtf8(false);


或传递给HALCON的字符串使用合适的转换函数,例如


HString::FromLocal8Bit(ch);



---


参考文献


C:/Program Files/MVTec/HALCON-19.11-Progress/doc/html/manuals/programmers_guide/programmers_guide_0035.html


7.4   Writing a Program with non-ASCII Characters


set_system ('filename_encoding', 'utf8')


上一篇:iOS 应用平台把 Android/WP 越甩越远


下一篇:Java系统线上生产问题排查一把梭(下)