#include "blur_linear.h" BlurLinear::BlurLinear(PNM* img) : Convolution(img) { } BlurLinear::BlurLinear(PNM* img, ImageViewer* iv) : Convolution(img, iv) { } PNM* BlurLinear::transform() { int maskSize = getParameter("size").toInt(); QList tmpMask = getParameter("mask").toList(); bool normalize = getParameter("normalize").toBool(); math::matrix mask(maskSize, maskSize); int maskValCount = 0; for (int i=0; i < maskSize; i++) { for (int j=0; j < maskSize; j++) { if (normalize) { mask[i][j] = tmpMask.at(maskValCount).toDouble() / Convolution::sum(mask); maskValCount++; } else { mask[i][j] = tmpMask.at(maskValCount).toDouble(); maskValCount++; } } } return convolute(mask, RepeatEdge); }