У меня есть данные, которые доступны только в виде 2D-точечного графика, сохраненного в виде pdf-файла, и мне нужны необработанные данные (значения x и связанные значения y) из него.
Есть ли способ сделать это с помощью Mathematica, чтобы я мог использовать данные для внутренних целей для оценки?
пример сюжета для импорта будет (ListPlot x ^ 2; x = 0-10)
Вот подход, который вы могли бы использовать с Mathematica
img = First@Import[
"https://drive.google.com/uc?export=download&id=1Kgny29eM8q2oIj7BopP-dx0HQ4E449P_"];
mb = MorphologicalBinarize[img];
cn = ColorNegate[Closing[mb, DiskMatrix[0.5]]];
coords = Flatten[Last /@ ComponentMeasurements[cn, {"Centroid"}], 1];
ListPlot[coords]
Вам нужно будет соответствующим образом масштабировать координаты, если вы хотите, чтобы они точно соответствовали y = x^2
.
спасибо за вклад! Я хотел бы принять свой вопрос, поскольку я экспериментировал дальше: есть ли способ определить положение определенных объектов (в виде треугольников, точек и т. д.) В PDF-файле, импортированном в mathematica?
Код в ответе определяет координаты кружков или точек. Его можно адаптировать для работы с треугольниками, прямоугольниками или другими простыми геометрическими фигурами. Если изображение имеет формы разных размеров или смесь разных форм, или перекрывающиеся формы, или фон, который не является относительно однородным, то оно не будет работать точно без значительных изменений. В таких ситуациях нейронная сеть может быть лучшим решением при условии, что у вас достаточно репрезентативных данных обучения.