Извлечение блоков, входов и выходов с отсканированной диаграммы симулинкта [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Извлечение блоков, входов и выходов с отсканированной диаграммы симулинкта [закрыто]

Сообщение Anonymous »

Я работаю над программным обеспечением для распознавания, которое принимает отсканированную диаграмму симулинка (в формате .png/.jpeg в качестве ввода и извлекает структурированную информацию о блоках, их входах и выходах. Цель состоит в том, чтобы сгенерировать электронную таблицу Excel, которая будет использоваться внутренним генератором Code Code. BBANG block → BBANG1, the second BBANG block → BBANG2, etc.



Challenge

How can I extract and распознавать блоки от отсканированной диаграммы Simulink? Пытался использование соответствия шаблонов ... не работая на данный момент < /li>
< /ul>
Какой можно было бы лучшим подходом для достижения этого в C ++? #include
#include
#include
#include
#include

namespace fs = std::filesystem;
using namespace cv;
using namespace std;

// Non-Maximum Suppression (NMS)
void nonMaxSuppression(vector& detectedRegions, double overlapThreshold) {
vector indices;
sort(detectedRegions.begin(), detectedRegions.end(), [](const Rect& a, const Rect& b) {
return a.area() > b.area();
});

for (size_t i = 0; i < detectedRegions.size(); ++i) {
bool keep = true;
for (size_t j = 0; j < i; ++j) {
float intersectionArea = (detectedRegions & detectedRegions[j]).area();
float unionArea = detectedRegions.area() + detectedRegions[j].area() - intersectionArea;
if ((intersectionArea / unionArea) > overlapThreshold) {
keep = false;
break;
}
}
if (keep) {
indices.push_back(i);
}
}

vector filteredDetections;
for (int index : indices) {
filteredDetections.push_back(detectedRegions[index]);
}

detectedRegions = filteredDetections;
}

// template matching
void detectBlocks(const string& diagramPath, const string& templateFolder, ofstream& outputFile) {
Mat inputImage = imread(diagramPath, IMREAD_GRAYSCALE);
if (inputImage.empty()) {
cout

Подробнее здесь: https://stackoverflow.com/questions/794 ... nk-diagram
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»