opencv-vconcat和hconcat
官方文档
官方文档给出小例程,推荐看官方文档。下面我介绍另外一种方法实现相同功能,通过cv::Mat来实现拼图。
小例程
cv::Mat img = cv::imread("D:/lena.png", 0);
cv::Mat result(1024, 1024, CV_8UC1);
cv::Mat dpart0(result, cv::Rect(512, 512, 512, 512));
cv::Mat dpart1(result, cv::Range(0, 512), cv::Range(0, 512));
cv::Mat tmp = result.rowRange(0, 512);//the same num of cols
img.convertTo(dpart0, img.type());//OK
img.copyTo(dpart1);//OK
//tmp = img;//Not OK
本例程给出三种方法,下面分别简述:
- 通过cv::rect来指定待拼接区域。cv::Mat dpart0(result, cv::Rect(512, 512, 512, 512));
- 通过cv::range来指定待拼接的行和列。cv::Mat dpart1(result, cv::Range(0, 512), cv::Range(0, 512));
- 通过rowRange或者colRange来指定特定行和特定列,需要注意的是指定特定行时列应该保持一致,指定特定列时行应该保持一致。cv::Mat tmp = result.rowRange(0, 512);
本人研究方向为视觉缺陷检测与视觉测量、机器人视觉。欢迎同志们沟通交流!