| 480 | |
| 481 | |
| 482 | void repeat(InputArray _src, int ny, int nx, OutputArray _dst) |
| 483 | { |
| 484 | Mat src = _src.getMat(); |
| 485 | CV_Assert( src.dims <= 2 ); |
| 486 | CV_Assert( ny > 0 && nx > 0 ); |
| 487 | |
| 488 | _dst.create(src.rows*ny, src.cols*nx, src.type()); |
| 489 | Mat dst = _dst.getMat(); |
| 490 | Size ssize = src.size(), dsize = dst.size(); |
| 491 | int esz = (int)src.elemSize(); |
| 492 | int x, y; |
| 493 | ssize.width *= esz; dsize.width *= esz; |
| 494 | |
| 495 | for( y = 0; y < ssize.height; y++ ) |
| 496 | { |
| 497 | for( x = 0; x < dsize.width; x += ssize.width ) |
| 498 | memcpy( dst.data + y*dst.step + x, src.data + y*src.step, ssize.width ); |
| 499 | } |
| 500 | |
| 501 | for( ; y < dsize.height; y++ ) |
| 502 | memcpy( dst.data + y*dst.step, dst.data + (y - ssize.height)*dst.step, dsize.width ); |
| 503 | } |
| 504 | |
| 505 | Mat repeat(const Mat& src, int ny, int nx) |
| 506 | { |
no test coverage detected