一、通道分离
将一张RGB图片进行分离使用split函数,函数的原型为void split(const Mat& src,Mat *mvBegin); 其中第一个参数为要进行分离的图像矩阵,第二个参数为Mat数组的首地址,或者一个vector<Mat>对象。需要注意的是,opencv中的通道是反过来的BGR。
std::vector<Mat> channels;
Mat aChannels[3]; //src为要分离的Mat对象
split(src, aChannels); //利用数组分离
split(src, channels); //利用vector对象分离
imshow("B",channels[0]);
imshow("G",channels[1]);
imshow("R",channels[2]);
二、VS中使用ImageWatch时候的前面两个坐标值(前一个值是列,后一个值是行)
三、绘制几何图形
参考文章:https://blog.csdn.net/guduruyu/article/details/68490206
1、cv::circle() 图像上绘制圆
2、cv::ellipse() 绘制椭圆形状
3、cv::fillConvexPoly() 绘制封闭多边形
4、cv::fillPoly() 绘制任意数目的封闭多边形
5、cv::line() 绘制直线
6、cv::rectangle() 绘制矩形
7、cv::polyLines() 绘制非封闭多边形
8、cv::clipLine() 判断一条直线是否在某个矩形范围内