#include "StdAfx.h" #include "ImageApplySharpen.h" CImageApplySharpen::CImageApplySharpen() : kernel(5, 5, CV_32FC1) { float kernel_data[] = { -0.1f, 0, 0, 0, -0.1f, 0, 0, 0, 0, 0, 0, 0, 1.5f, 0, 0, 0, 0, 0, 0, 0, -0.1f, 0, 0, 0, -0.1f }; memcpy(kernel.data, kernel_data, sizeof(float) * 25); } CImageApplySharpen::~CImageApplySharpen() { } void CImageApplySharpen::apply(cv::Mat & pDib, int side) { #ifdef LOG FileTools::write_log("imgprc.txt", "enter CImageApplySharpen apply"); #endif // LOG if (pDib.empty()) return; cv::filter2D(pDib, pDib, pDib.depth(), kernel); #ifdef LOG FileTools::write_log("imgprc.txt", "exit CImageApplySharpen apply"); #endif // LOG } void CImageApplySharpen::apply(std::vector& mats, bool isTwoSide) { if (mats.empty()) return; apply(mats[0], 0); if (isTwoSide && mats.size() > 1) apply(mats[1], 1); }