1

RGB 画像を 1 つのチャンネルに分割する際に問題が発生しました。私の簡単なコードは次のとおりです

    **cv::Mat src = cv::imread("D:/Test/a.jpg", 1);
std::vector<cv::Mat> img_rgb;
cv::split(src, img_rgb);
cv::imshow("a", src);**

私のデバッグは、この問題が分割機能に由来し、次のエラーがスローされたことを示しています。 *Test_Opencv2.4.1.exe の 0x10005768 で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x000000bc.*

この問題を解決する方法を知っている人はいますか?前もって感謝します!

4

1 に答える 1

1

他のスラッシュを使用してエスケープする必要がある場合があります。さらに、常に次の戻り値を確認する必要がありimread()ます。

cv::Mat src = cv::imread("D:\\Test\\a.jpg", 1);
if (src.empty())
{
    std::cout << "!!! Couldn't load image" << endl;
    // exit
}
于 2012-06-11T13:05:47.637 に答える