3
cv::Mat img = cv::imread("../赤月/lena.jpg");
if(img.empty()) std::cout<<"empty image"<<std::endl;

または

QString const image_name = "../赤月/lena.jpg";
cv::Mat img = cv::imread(image_name_.toAscii().constData());
if(img.empty()) std::cout<<"empty image"<<std::endl;

imread の API は std::string を受け入れますが、ユニコードのサポートが必要な場合はどうすればよいですか?

4

1 に答える 1

1

Niko がリンクを見せてくれたので、Qt で問題を解決する方法を知りました。

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

QString const image_name = "../赤月/lena.jpg";
cv::Mat img = cv::imread(image_name_.toAscii().constData());

皆さんのおかげで、コードは完全に機能するようになりました。

于 2012-11-14T11:02:38.140 に答える