برای شارپ کردن تصویر بایستی مقدار کرنل برای همسایه های اصلی مرکز مساوی با -1 و برای مرکز کرنل مساوی 5 باشد به صورت زیر:
و سپس این کرنل را در تصویر مورد نظر کانولوشن کنید با تابع cv::filter2D به صورت زیر:
void sharpen2D(const cv::Mat &image, cv::Mat &result) {
cv::Mat kernel(3,3,CV_32F,cv::Scalar(0));
kernel.at<float>(1,1)= 5.0;
kernel.at<float>(0,1)= -1.0;
kernel.at<float>(2,1)= -1.0;
kernel.at<float>(1,0)= -1.0;
kernel.at<float>(1,2)= -1.0;
cv::filter2D(image,result,image.depth(),kernel);
}