65 lines
2.2 KiB
C++
65 lines
2.2 KiB
C++
|
#include "ImageApplyRefuseInflow.h"
|
||
|
#include "ImageApplyAdjustColors.h"
|
||
|
|
||
|
CImageApplyRefuseInflow::CImageApplyRefuseInflow(int constrast)
|
||
|
: m_adjustColor(new CImageApplyAdjustColors(0, constrast, 1.0f))
|
||
|
{
|
||
|
}
|
||
|
|
||
|
CImageApplyRefuseInflow::~CImageApplyRefuseInflow()
|
||
|
{
|
||
|
delete m_adjustColor;
|
||
|
}
|
||
|
|
||
|
void CImageApplyRefuseInflow::apply(cv::Mat& pDib, int side)
|
||
|
{
|
||
|
(void)side;
|
||
|
#if 0
|
||
|
static unsigned char table_contrast[] = {
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
|
||
|
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||
|
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
||
|
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
|
||
|
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
|
||
|
50, 51, 52, 53, 54, 55, 56, 57, 198, 199,
|
||
|
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
|
||
|
210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
|
||
|
220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
|
||
|
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
|
||
|
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
|
||
|
250, 251, 252, 253, 254, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||
|
255, 255, 255, 255, 255, 255 };
|
||
|
static cv::Mat mat_table(1, 256, CV_8UC1, table_contrast);
|
||
|
cv::LUT(pDib, mat_table, pDib);
|
||
|
#else
|
||
|
m_adjustColor->apply(pDib, side);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
void CImageApplyRefuseInflow::apply(std::vector<cv::Mat>& mats, bool isTwoSide)
|
||
|
{
|
||
|
(void)isTwoSide;
|
||
|
|
||
|
int i = 0;
|
||
|
for (cv::Mat& var : mats) {
|
||
|
if (i != 0 && isTwoSide == false)
|
||
|
break;
|
||
|
if (!var.empty())
|
||
|
apply(var, 0);
|
||
|
i++;
|
||
|
}
|
||
|
}
|