1.均值偏移
在6说过一般是使用HSV的色调通道就行所以,所以我们可以直接写成一个函数,输入源图和roi返回反向直方图
static Mat HistBack(Mat src,Mat roi)
{
Mat srcHSV = new Mat();
Mat roiHSV = new Mat();
Cv2.CvtColor(src, srcHSV, ColorConversionCodes.BGR2HSV);//将图片转换成HSV空间
Cv2.CvtColor(roi, roiHSV, ColorConversionCodes.BGR2HSV);//将图片转换成HSV空间
int[] histsize = new int[] { 256 };//一个通道,初始化为256箱子
Rangef[] range = new Rangef[1];//一个通道,范围
range[0].Start = 0.0F;//从0开始(含)
range[0].End = 180.0F;//到180结束(不含,色调的范围0到180
int[] channels = new int[] { 0 };//一个通道,初始化为通道0,这些东西可以共用设置
Mat[] rois = Cv2.Split(roiHSV);//将roi拆分
Mat[] rois0 = new Mat[] {rois[0] };//roi的第一个通道,也就是H,色调
Mat mask = new Mat();//掩码;