83 lines
1.3 KiB
C++
83 lines
1.3 KiB
C++
#include "StdAfx.h"
|
|
#include "JpegBuffer.h"
|
|
#include "jpeglib.h"
|
|
#include "twain.h"
|
|
//#include "filetools.h"
|
|
|
|
using namespace std;
|
|
|
|
JpegBuffer::JpegBuffer(cv::Mat buffer, int color_type,int side,int mFilter)
|
|
{
|
|
this->m_buffer = buffer;
|
|
this->m_color_type=color_type;
|
|
this->m_side=side;
|
|
this->m_mFilter=mFilter;
|
|
}
|
|
|
|
JpegBuffer::JpegBuffer(std::vector<cv::Mat> mats, int color_type, int mFilter)
|
|
{
|
|
matdatas = mats;
|
|
this->m_color_type = color_type;
|
|
this->m_mFilter = mFilter;
|
|
}
|
|
|
|
JpegBuffer::JpegBuffer()
|
|
{
|
|
this->m_buffer = cv::Mat();
|
|
this->m_color_type = 2;
|
|
this->m_side = 0;
|
|
this->m_mFilter = 0;
|
|
}
|
|
|
|
|
|
JpegBuffer::~JpegBuffer(void)
|
|
{
|
|
}
|
|
|
|
|
|
unsigned char* JpegBuffer::getBuffer()
|
|
{
|
|
return m_buffer.data;
|
|
}
|
|
|
|
cv::Mat JpegBuffer::buffer()
|
|
{
|
|
return m_buffer;
|
|
}
|
|
|
|
int JpegBuffer::getSize()
|
|
{
|
|
return m_buffer.cols;
|
|
}
|
|
|
|
|
|
cv::Mat JpegBuffer::getMat( int pixType)
|
|
{
|
|
JpegLib jl;
|
|
cv::Mat image = jl.decode(m_buffer, pixType);
|
|
return image.clone();
|
|
}
|
|
|
|
std::vector<cv::Mat> JpegBuffer::getMats()
|
|
{
|
|
std::vector<cv::Mat> retmats;
|
|
for (int i = 0; i < matdatas.size(); i++)
|
|
{
|
|
JpegLib jl;
|
|
cv::Mat image = jl.decode(matdatas[i], m_color_type);
|
|
retmats.push_back(image.clone());
|
|
image.release();
|
|
}
|
|
return retmats;
|
|
}
|
|
|
|
int JpegBuffer::getMFilter()
|
|
{
|
|
return m_mFilter;
|
|
}
|
|
|
|
int JpegBuffer::getSide()
|
|
{
|
|
return m_side;
|
|
}
|