#include "StdAfx.h" #include "JpegBuffer.h" #include "jpeglib.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 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 JpegBuffer::getMats() { std::vector 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; } bool JpegBuffer::empty() { return matdatas.empty(); }