资源简介

c++实现图像卷积操作,参数为(输入图像,输出图像),卷积核内部自己更改

资源截图

代码片段和文件信息


void Myfilter2D(Mat &srcImage Mat &dst)
{
int kerR = size / 2;
dst = srcImage.clone();
Mat arr = (Mat_(3 3) << 0 -0.2 0 -0.2 1 -0.2 0 -0.2 0);


const int iHeight = srcImage.rows;
const int iWidth = srcImage.cols;
for (int i = 0; i for (int j = 0; j {
double GuassionSum = 0;

for (int m = i - kerR; m for (int n = j - kerR; n {

if (m<0 || n<0 || m>iHeight - 1 || n>iWidth - 1)
continue;
GuassionSum += arr.at(m - i + kerR n - j + kerR) * srcImage.at(m n);

}
if (GuassionSum < 0)
GuassionSum = 0;
else if (GuassionSum > 255)
GuassionSum = 255;
dst.at(i j) = static_cast(GuassionSum);
}

}

void Myfilter3D(Mat 

评论

共有 条评论