如何使用 opencv::split()。崩溃

How to use opencv::split(). Get crash

如何正确使用split()?为什么我在将图像拆分到 std::vector 个频道后会崩溃?

cv::Mat imgOrig = cv::imread("cat.png", CV_LOAD_IMAGE_COLOR);

{
    std::vector<cv::Mat> Ichannels;
    cv::split(ImgOrig, Ichannels); // have 3 channels here
} // crash here. When going out of scope

更新: std::vector Ichannels(3) 修复了问题。根据 this answer 但在我的案例中,我不知道三个通道如何共享内存。里面价值观不一样。可能应该在 imgOrig 和频道之间共享一些内存。

std::vector Ichannels(3);修复崩溃