1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
int imageCrop(InputArray src, OutputArray dst, Rect rect) { Mat input = src.getMat(); if( input.empty() ) { return -1; } //计算剪切区域: 剪切Rect与源图像所在Rect的交集 Rect srcRect(0, 0, input.cols, input.rows); rect = rect & srcRect; if ( rect.width <= 0 || rect.height <= 0 ) return -2; //创建结果图像 dst.create(Size(rect.width, rect.height), src.type()); Mat output = dst.getMat(); if ( output.empty() ) return -1; try { //复制源图像的剪切区域 到结果图像 input(rect).copyTo( output ); return 0; } catch (...) { return -3; } }
|
近期评论