Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # CMakeLists.txt
This commit is contained in:
commit
e7db943a04
@ -3,10 +3,10 @@ project(ARCDesktopProject LANGUAGES CXX)
|
||||
|
||||
#mkdir build
|
||||
#cd build
|
||||
#cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_arm64" -DCMAKE_BUILD_TYPE=Release
|
||||
# -A Win32
|
||||
#cmake .. -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_64" -DCMAKE_BUILD_TYPE=Release
|
||||
#cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_64" -DCMAKE_BUILD_TYPE=Release
|
||||
#cmake --build . --config Release
|
||||
#windeployqt .\Release\ARCDesktopProject.exe
|
||||
#"C:\Qt\6.9.0\msvc2022_64\bin\windeployqt.exe" .\Release\ARCDesktopProject.exe
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
@ -17,12 +17,13 @@ add_compile_definitions(QT_MESSAGELOGCONTEXT)
|
||||
|
||||
if (WIN32)
|
||||
# Укажи путь к Qt6
|
||||
set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_arm64")
|
||||
list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows")
|
||||
#set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_arm64")
|
||||
set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_64")
|
||||
# list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows")
|
||||
#vcpkg install tesseract:arm64-windows
|
||||
set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows/share/tesseract")
|
||||
#set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows/share/tesseract")
|
||||
|
||||
find_package(Tesseract CONFIG REQUIRED)
|
||||
#find_package(Tesseract CONFIG REQUIRED)
|
||||
elseif (APPLE)
|
||||
# Укажи путь к Qt6
|
||||
set(CMAKE_PREFIX_PATH "/opt/homebrew/opt/qt")
|
||||
@ -92,7 +93,7 @@ if (WIN32)
|
||||
Qt6::Xml
|
||||
Qt6::Sql
|
||||
Qt6::Network
|
||||
Tesseract::libtesseract
|
||||
# Tesseract::libtesseract
|
||||
)
|
||||
|
||||
# Копирование изображений в директорию сборки
|
||||
|
||||
1
main.cpp
1
main.cpp
@ -6,7 +6,6 @@
|
||||
|
||||
#include "database/DatabaseManager.h"
|
||||
#include "database/dao/CommonDataDAO.h"
|
||||
#include "db/AccountInfoScreener.h"
|
||||
#include "services/DeviceScreener.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@ -1,56 +0,0 @@
|
||||
#include "AccountInfoScreener.h"
|
||||
#include <QImage>
|
||||
#include <QList>
|
||||
#include <QDebug>
|
||||
#include <qregularexpression.h>
|
||||
|
||||
#include "android/Card.h"
|
||||
#include "tesseract/baseapi.h"
|
||||
|
||||
QList<Card> AccountInfoScreener::parseCardData(const QByteArray &imageData) {
|
||||
QList<Card> cards;
|
||||
// QImage image;
|
||||
// if (!image.loadFromData(imageData)) {
|
||||
// return {};
|
||||
// }
|
||||
// image = image.convertToFormat(QImage::Format_Grayscale8);
|
||||
|
||||
QImage image("./images/img.png");
|
||||
if (image.isNull()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
// важная часть, без нее не парсит
|
||||
image = image.convertToFormat(QImage::Format_Grayscale8);
|
||||
|
||||
tesseract::TessBaseAPI tess;
|
||||
if (tess.Init(nullptr, "rus")) {
|
||||
qDebug() << "Ошибка инициализации Tesseract с русским языком....";
|
||||
}
|
||||
|
||||
tess.SetImage(image.bits(), image.width(), image.height(), 1, image.bytesPerLine());
|
||||
|
||||
const QString result = QString::fromUtf8(tess.GetUTF8Text());
|
||||
qDebug() << "Распознанный текст:" << result;
|
||||
|
||||
|
||||
const QRegularExpression re(R"((дебетовая(?:, цифровая)?),\s*\*(\d{4})\s+([\d]+\.\d{2})\s*Р)",
|
||||
QRegularExpression::CaseInsensitiveOption);
|
||||
|
||||
QRegularExpressionMatchIterator i = re.globalMatch(result);
|
||||
|
||||
while (i.hasNext()) {
|
||||
auto card = Card();
|
||||
bool ok;
|
||||
QRegularExpressionMatch match = i.next();
|
||||
const double amount = match.captured(3).toDouble(&ok);
|
||||
if (ok) {
|
||||
card.amount = amount;
|
||||
card.name = match.captured(2);
|
||||
card.description = match.captured(1);
|
||||
cards.append(card);
|
||||
}
|
||||
}
|
||||
|
||||
return cards;
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "android/Card.h"
|
||||
|
||||
class AccountInfoScreener {
|
||||
public:
|
||||
[[nodiscard]] static QList<Card> parseCardData(const QByteArray &imageData);
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user