2012-06-11 57 views
1

我有一個問題,而分裂RGB圖像到單個通道。我的簡單代碼如下cv :: split在OpenCV 2.4.1和Visual Studio

**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);** 

我的調試顯示,這probem來自分裂功能,並拋出以下錯誤。 在Test_Opencv2.4.1.exe在0x10005768 *未處理的異常:0000005:訪問衝突讀取位置0x000000bc *

有誰知道如何解決這個問題?提前致謝!

+2

你檢查圖像是用'CV看完後有效: :imread'? – juanchopanza

回答

1

您可能需要使用其他的斜線和逃避它,再加上你總是需要檢查的imread()返回:

cv::Mat src = cv::imread("D:\\Test\\a.jpg", 1); 
if (src.empty()) 
{ 
    std::cout << "!!! Couldn't load image" << endl; 
    // exit 
} 
+0

我已經成功地裝載了圖像,甚至已經顯示在cv :: imshow()函數中。但錯誤發生:( – XYZ

+0

Humm ...哪些錯誤? – karlphillip