Implement image smoothing using convolution with Gaussian masks with C++. You should use 2 input images that are pgm files. First, implement 2D Gaussian convolution using 1D Gaussian masks as discussed in class. Codes for reading and writing pgm images as well as for generating the Gaussian mask are available in the attachment to this assignment. For comparison purposes, also implement 2D Gaussian convolution using 2D Gaussian masks. For this part, use OpenCV's cvSmooth function and the option