public Matrix<byte> padarray(Matrix<byte> src, int RowPad, int ColPad)
{
int n = src.Rows;
int m = src.Cols;
Mat temp1 = new Mat(n, m + ColPad * 2, DepthType.Cv32F, 1);
Matrix<byte> temp1cc = new Matrix<byte>(temp1.Size);
temp1.CopyTo(temp1cc);
Mat temp2 = new Mat(n + RowPad * 2, m + ColPad * 2, DepthType.Cv32F, 1);
Matrix<byte> temp2cc = new Matrix<byte>(temp2.Size);
temp2.CopyTo(temp2cc);
for (int i = 0; i < ColPad; i++)
{
src.GetCol(i).CopyTo(temp1cc.GetCol(ColPad - 1 - i));
src.GetCol( m - 1 - i).CopyTo(temp1cc.GetCol( m + ColPad + i));
}
src.CopyTo(temp1cc.GetCols( ColPad, m + ColPad));
for (int j = 0; j < RowPad; j++)
{
temp1cc.GetRow(j).CopyTo(temp2cc.GetRow(RowPad - 1 - j));
temp1cc.GetRow(n - 1 - j).CopyTo(temp2cc.GetRow(n + RowPad + j));
}
temp1cc.CopyTo(temp2cc.GetRows( RowPad, n + RowPad,1));
return temp2cc;
}
C#实现Matlab中的padarray函数
最新推荐文章于 2021-04-23 11:04:33 发布