У меня проблемы с использованием исходных текстов C ++ из проекта Zxing.
Я скачал весь проект с https://code.google.com/p/zxing/downloads/list и просто взял файлы cpp (core и cli).
Я просто хочу иметь такой метод:
decode(byte[] dataToDecode, int widthFrame, int heightFrame)
но я действительно не знаю, как это сделать (я новичок в проектах c ++ и Zxing).
Я провел исследование в Интернете и нашел http://wiki.ssrrsummerschool.org/doku.php?id=robocup2012:qrcode-cppexample это было именно то, что мне было нужно.
К сожалению, ядро Zxing изменилось, и теперь у меня есть некоторые проблемы из-за ссылка на массив
Есть ли простой способ декодировать байтовый массив (RGB) и вернуть строку результата?
Помощь была бы очень признательна,
Проблема была решена путем изменения примера класса BufferBitmapSource (http://wiki.ssrrsummerschool.org/doku.php?id=robocup2012:qrcode-cppexample) согласно библиотеке Zxing 2.2.
BufferBitmapSource.hpp:
#include <zxing/LuminanceSource.h>
#include <stdio.h>
#include <stdlib.h>
using namespace zxing;
namespace qrviddec {
class BufferBitmapSource : public LuminanceSource {
private:
ArrayRef<char>* buffer;
public:
BufferBitmapSource(int inWidth, int inHeight, ArrayRef<char> buffer);
~BufferBitmapSource();
ArrayRef<char> getRow(int y, ArrayRef<char> row) const;
ArrayRef<char> getMatrix() const;
};
}
BufferBitmapSource.cpp
Слишком долго, чтобы отправить, но может поделиться для тех, кто спрашивает.
test.cpp (основной)
...
// Convert the buffer to something that the library understands.
ArrayRef<char> data((char*)buffer, width*height);
Ref<LuminanceSource> source (new BufferBitmapSource(width, height, data));
...
Других решений пока нет …