如何正确使用split()?为什么在将图像分割到 channel 的 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 但我不明白在我的情况下三个 channel 如何共享内存。里面的值(value)观是不一样的。也许应该在 imgOrig 和 channel 之间共享一些内存。
最佳答案
std::vector Ichannels(3);修复崩溃问题
关于c++ - 如何使用 opencv::split()。崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28713088/