在使用CFileDialog选择文件时,返回结果为CString,此时如果需要使用cv::imread打开图像

则需要将字符串转换为cv::String,代码如下

 

    CString filename;//保存路径

    CFileDialog opendlg(TRUE, _T("*"), _T("*.*"), OFN_OVERWRITEPROMPT, _T("所有文件(*.*;)|*.*||"), NULL);
    if (opendlg.DoModal() != IDOK)
    {
        return;
    }

    filename = opendlg.GetPathName();
    Mat im0 = imread(filename.GetBuffer());

 

上述代码中的核心代码为 filename.GetBuffer() 。

 

转载于:https://www.cnblogs.com/xbotao/articles/6067005.html

更多推荐