delete obslete files
This commit is contained in:
parent
8901ca1fdf
commit
6ea26c7b80
|
@ -1,62 +0,0 @@
|
|||
#include "ImageMatQueue.h"
|
||||
GRawDecode::GRawDecode(std::shared_ptr<std::vector<char>> buff)
|
||||
{
|
||||
m_buffs.push_back(buff);
|
||||
}
|
||||
|
||||
GRawDecode::GRawDecode(void* data, size_t bytes)
|
||||
{
|
||||
std::shared_ptr<std::vector<char>> buf;
|
||||
buf.reset(new std::vector<char>);
|
||||
buf->resize(bytes);
|
||||
memcpy(buf->data(), data, bytes);
|
||||
m_buffs.push_back(buf);
|
||||
}
|
||||
|
||||
G200Decode::G200Decode(std::shared_ptr<std::vector<char>> buff,bool is_duplex,bool is_switchFrontBack)
|
||||
{
|
||||
const int int_buffer_size = 1024;
|
||||
int buffer_size = buff->size();
|
||||
int b_buffer_size = 0;
|
||||
int f_buffer_size = 0;
|
||||
std::shared_ptr<std::vector<char>> buffB(new std::vector<char>(buff->size()));
|
||||
std::shared_ptr<std::vector<char>> buffF(new std::vector<char>(buff->size()));
|
||||
unsigned char *bbuf = (unsigned char *)(buffB->data());
|
||||
unsigned char *fbuf = (unsigned char *)(buffF->data());
|
||||
unsigned char *buf = (unsigned char *)(buff->data());
|
||||
for (int i = 0; i < (buffer_size / int_buffer_size); i++)
|
||||
{
|
||||
if (buf[(i + 1) * int_buffer_size - 1] == 0)
|
||||
{
|
||||
memcpy(bbuf + b_buffer_size, buf + i * int_buffer_size, int_buffer_size - 1);
|
||||
b_buffer_size += (int_buffer_size - 1);
|
||||
}
|
||||
else if (buf[(i + 1) * int_buffer_size - 1] == 255)
|
||||
{
|
||||
memcpy(fbuf + f_buffer_size, buf + i * int_buffer_size, int_buffer_size - 1);
|
||||
f_buffer_size += (int_buffer_size - 1);
|
||||
}
|
||||
}
|
||||
buffB->resize(b_buffer_size);
|
||||
buffF->resize(f_buffer_size);
|
||||
|
||||
m_buffs.push_back(buffB);
|
||||
m_buffs.push_back(buffF);
|
||||
|
||||
}
|
||||
|
||||
G400Decode::G400Decode(std::shared_ptr<std::vector<char>> buff,bool i)
|
||||
{
|
||||
/*std::shared_ptr<std::vector<char>> buf;
|
||||
buf.reset(new std::vector<char>);
|
||||
auto bytes = buff->size();
|
||||
buf->resize(bytes);
|
||||
memcpy(buf->data(), buff->data(), bytes);
|
||||
m_buffs.push_back(buf);*/
|
||||
m_buffs.push_back(buff);
|
||||
// printf("G400 :buff->size()=%d\r\n",buff->size());
|
||||
}
|
||||
|
||||
//出图注释:
|
||||
//G100(DSP),G200(DSP),G300,G400,G302,G402.
|
||||
//出图都是两张连成一张发上来,而且正面在右边,反面在左边,所以拆分之后需要先把左边的push进队列
|
|
@ -1,142 +0,0 @@
|
|||
#ifndef IMAGE_MAT_QUEUE_H
|
||||
#define IMAGE_MAT_QUEUE_H
|
||||
|
||||
#include "../ImageProcess/ImageApplyHeaders.h"
|
||||
#include "PaperSize.h"
|
||||
|
||||
|
||||
#if defined(WIN32) || defined(_WIN64)
|
||||
class IMat2Bmp {
|
||||
public:
|
||||
virtual ~IMat2Bmp() {}
|
||||
virtual std::vector<unsigned char> getBmpDataBuffer() {
|
||||
return m_data;
|
||||
};
|
||||
protected:
|
||||
std::vector<unsigned char> m_data;
|
||||
};
|
||||
|
||||
class Mat2Bmp:public IMat2Bmp {
|
||||
public:
|
||||
Mat2Bmp(const cv::Mat& mat,float res) {
|
||||
int headersize = mat.channels() == 3 ? 54 : 1078;
|
||||
int bmpdatasize = mat.step1() * mat.rows;
|
||||
m_data.resize(headersize + bmpdatasize);
|
||||
cv::imencode(".bmp", mat, m_data);
|
||||
BITMAPINFOHEADER* infoheader =(BITMAPINFOHEADER*)(m_data.data()+sizeof(BITMAPFILEHEADER));
|
||||
infoheader->biXPelsPerMeter = infoheader->biYPelsPerMeter = static_cast<LONG>(res * 39.37F + 0.5);
|
||||
infoheader->biClrUsed = infoheader->biClrImportant=infoheader->biBitCount == 8 ? 256 : 0;
|
||||
//short palettesize = sizeof(RGBQUAD) * infoheader->biClrUsed;
|
||||
//int imagedatasize = BYTES_PERLINE_ALIGN4(mat.cols, infoheader->biBitCount) * mat.rows;
|
||||
//int bitmapSize = sizeof(BITMAPINFOHEADER) + palettesize + imagedatasize;
|
||||
//infoheader->biSizeImage = bitmapSize;
|
||||
}
|
||||
};
|
||||
|
||||
class Mat2BmpBw :public IMat2Bmp {
|
||||
public:
|
||||
Mat2BmpBw(const cv::Mat& mat,float res) {
|
||||
//cv::imwrite("bw.bmp", mat);
|
||||
int headsize = 62;
|
||||
int width = mat.cols;
|
||||
int height = mat.rows;
|
||||
int bmpdatasize = (width + 31) / 32 * 4*height;
|
||||
m_data.resize(headsize + bmpdatasize);
|
||||
unsigned char* binary = m_data.data()+62;//file header(14)+info header(40)+RGBQUAD(8)
|
||||
setBmpFileHeader(mat,bmpdatasize);
|
||||
setBmpInfoHeader(mat, bmpdatasize, res);
|
||||
memcpy(m_data.data(), &m_fileHeader, sizeof(BITMAPFILEHEADER));
|
||||
memcpy(m_data.data() + sizeof(BITMAPFILEHEADER), &m_infoHeader, sizeof(BITMAPINFOHEADER));
|
||||
RGBQUAD* quad = (RGBQUAD*)(m_data.data() + sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER));
|
||||
quad->rgbBlue = quad->rgbGreen = quad->rgbRed = quad->rgbReserved = 0;
|
||||
quad++;
|
||||
quad->rgbBlue = quad->rgbGreen = quad->rgbRed = 255;
|
||||
quad->rgbReserved = 0;
|
||||
|
||||
unsigned char* imageData = mat.data;
|
||||
unsigned char temp;
|
||||
int n_lineByte = (width + 7) >> 3;
|
||||
int m_lineByte = ((n_lineByte * 8 + 31) >> 5) << 2;
|
||||
for (int row = height - 1; row >= 0; row--)
|
||||
{
|
||||
for (int col = 0; col < width; col++)
|
||||
{
|
||||
int pos = col % 8;
|
||||
int pix = *(imageData + row * mat.step1() + col);
|
||||
temp = 1 << (7 - pos);
|
||||
if (pix == 255)
|
||||
{
|
||||
*(binary + (height - row - 1) * m_lineByte + col / 8) |= temp ;
|
||||
}
|
||||
else
|
||||
{
|
||||
*(binary + (height - row - 1) * m_lineByte + col / 8) &= (~temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private:
|
||||
void setBmpFileHeader(const cv::Mat& mat,const int bmpDataLen) {
|
||||
memset(&m_fileHeader, 0, sizeof(BITMAPFILEHEADER));
|
||||
m_fileHeader.bfType = ((unsigned short)('M' << 8) | 'B');
|
||||
m_fileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + (sizeof(RGBQUAD) * 1);
|
||||
int nDIBSize = sizeof(BITMAPINFOHEADER) + (sizeof(RGBQUAD) * 2) + bmpDataLen;
|
||||
m_fileHeader.bfSize = sizeof(BITMAPFILEHEADER) + nDIBSize;
|
||||
}
|
||||
|
||||
void setBmpInfoHeader(const cv::Mat& mat,const int bmpDataLen, const long res) {
|
||||
memset(&m_infoHeader, 0, sizeof(BITMAPINFOHEADER));
|
||||
m_infoHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||
m_infoHeader.biWidth = mat.cols;
|
||||
m_infoHeader.biHeight = mat.rows;
|
||||
m_infoHeader.biPlanes = 1;
|
||||
m_infoHeader.biBitCount = 1;
|
||||
m_infoHeader.biCompression = 0;
|
||||
m_infoHeader.biSizeImage = bmpDataLen;
|
||||
m_infoHeader.biXPelsPerMeter = m_infoHeader.biYPelsPerMeter = static_cast<LONG>(res * 39.37F + 0.5);;
|
||||
m_infoHeader.biClrUsed = 2;
|
||||
m_infoHeader.biClrImportant = 2;
|
||||
}
|
||||
|
||||
private:
|
||||
BITMAPFILEHEADER m_fileHeader;
|
||||
BITMAPINFOHEADER m_infoHeader;
|
||||
};
|
||||
#endif
|
||||
|
||||
class IDecode
|
||||
{
|
||||
public:
|
||||
virtual ~IDecode() {}
|
||||
virtual std::vector<std::shared_ptr<std::vector<char>>> getImageBuffs()
|
||||
{
|
||||
return m_buffs;
|
||||
}
|
||||
protected:
|
||||
std::vector<std::shared_ptr<std::vector<char>>> m_buffs;
|
||||
};
|
||||
|
||||
class G200Decode : public IDecode
|
||||
{
|
||||
public:
|
||||
G200Decode(std::shared_ptr<std::vector<char>> buff,bool is_duplex,bool is_switchFrontBack);
|
||||
//G200Decode(void* buf, unsigned bytes);
|
||||
};
|
||||
|
||||
class G400Decode : public IDecode
|
||||
{
|
||||
public:
|
||||
G400Decode(std::shared_ptr<std::vector<char>> buff,bool is_duplex);
|
||||
};
|
||||
|
||||
|
||||
class GRawDecode : public IDecode
|
||||
{
|
||||
public:
|
||||
GRawDecode(std::shared_ptr<std::vector<char>> buff);
|
||||
GRawDecode(void* data, size_t bytes);
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue