Я работаю над программным обеспечением для распознавания, которое принимает отсканированную диаграмму симулинка (в формате .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
Извлечение блоков, входов и выходов с отсканированной диаграммы симулинкта [закрыто] ⇐ C++
Программы на C++. Форум разработчиков
1740859927
Anonymous
Я работаю над программным обеспечением для распознавания, которое принимает отсканированную диаграмму симулинка (в формате .png/.jpeg в качестве ввода и извлекает структурированную информацию о блоках, их входах и выходах. Цель состоит в том, чтобы сгенерировать электронную таблицу Excel, которая будет использоваться внутренним генератором Code Code. [b]BBANG[/b] block → BBANG1, the second [b]BBANG[/b] block → BBANG2, etc.
[b]Challenge[/b]
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[i] & detectedRegions[j]).area();
float unionArea = detectedRegions[i].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
Подробнее здесь: [url]https://stackoverflow.com/questions/79477939/extracting-blocks-inputs-and-outputs-from-a-scanned-simulink-diagram[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия