twain2/hugaotwainds/ImageApplySharpen.cpp

38 lines
862 B
C++
Raw Permalink Normal View History

2020-03-11 02:53:30 +00:00
#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<cv::Mat>& mats, bool isTwoSide)
{
if (mats.empty()) return;
apply(mats[0], 0);
if (isTwoSide && mats.size() > 1)
apply(mats[1], 1);
}