目录
note
code
test
// 扩充边缘的矩阵卷积,导致输出矩阵比输入矩阵大
void MyMatConvolute3(Mat& src, Mat& kernel, Mat& res) {
if (src.type() != CV_8UC1) {
return;
}
if ((kernel.type() != CV_8UC1) || (kernel.rows != kernel.cols) || (kernel.rows / 2 == 0)) {
return;
}
int edge = kernel.rows-1;
Mat tmp = Mat(src.rows+2*edge, src.cols+2*edge, CV_8UC1, Scalar(0));
for (int i = 0; i < src.rows; ++i) {
for (int j = 0; j < src.cols; ++j) {
tmp.at(i+edge,j+edge) = src.at(i,j);
}
}
MyMatConvolute1(tmp, kernel, res);
}