首页 > 代码库 > HSV做通道分离是出现的Vector内存越界错误

HSV做通道分离是出现的Vector内存越界错误

        vector<Mat> hsvSplit;                                          //因为我们读取的是彩色图,直方图均衡化需要在HSV空间做
        split(imgHSV, hsvSplit);
        equalizeHist(hsvSplit[2], hsvSplit[2]);
        merge(hsvSplit, imgHSV);

用上面的代码做HSV通道分离的时候,出现Vector内存越界的情况

 

解决方案一:

vector<Mat> hsvSplit; //因为我们读取的是彩色图,直方图均衡化需要在HSV空间做
hsvSplit.resize(3);
hsvsplit开始时是空的,为其手动分配3个矩阵的内存

 

解决方案二:

在解决方案一的基础上,如果还是不行就更换opencv的版本

HSV做通道分离是出现的Vector内存越界错误