就是将rgb图的3个channel随机打乱顺序,给定一个概率值是否执行这个操作,v系列模型的概率一般都设置的为0
void RandomOrderChannels(const cv::Mat& in_img, cv::Mat* out_img, const float random_order_prob) { float prob; caffe_rng_uniform(1, 0.f, 1.f, &prob); if (prob < random_order_prob) { // Split the image to 3 channels. vector<cv::Mat> channels; cv::split(*out_img, channels); CHECK_EQ(channels.size(), 3); // Shuffle the channels. std::random_shuffle(channels.begin(), channels.end()); cv::merge(channels, *out_img); } else { *out_img = in_img; } }