Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/19: Рейтинг темы: голосов - 19, средняя оценка - 4.84
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109

Импорт и экспорт графика (его значений, а не изображения)

19.10.2012, 11:07. Показов 3959. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! У меня вот такая задача: есть пикчебокс, в нем рисуются разные всякие графики, к ним применяются функции размытия, производится деление и грубо говоря получается другой график. Вопрос состоит в том как осуществить сохранение в текстовый файл этих плучаемых- графиков? Как я понимаю нужно сохранить в текстовый файл массив со значениями функции в каждой точке, но как это сделать? И еще нужно что бы потом можно было сохраненную эту функцию графика (массив) можно было загрузить обратно в программу. Подскажите пожалуйста как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2012, 11:07
Ответы с готовыми решениями:

Построение 3-х мерного графика изображения и его гистограммы
Доброго времени суток! Нужна помощь. Суть проблемы такова: Есть полноцветное изображение, нужно каким-то образом сделать так, чтобы...

Импорт из 1С в bitrix через csv, импорт пути изображения
Добрый день Уважаемые, Уже всю голову сломал себе пытаясь импортировать csv файл в битрикс через Import CSV (new). Список товаров и...

Импорт и Экспорт
Здравствуйте уважаемые форумчанины У меня возник такой вопрос как реализовать это смотреть вложения как сделать так чтобы на форме была...

33
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
19.10.2012, 11:24
AnutaMypka, а почему в текст, а не сразу в виде изображения в BitMap или другой бинарный файл?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
19.10.2012, 11:25
AnutaMypka, а нельзя просто сериализовать функцию?.. График можно аппроксимировать сплайнами, сохранив штук 50-100 опорных точек. Получится не сильно накладно. Ну или действительно картинку.
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 16:20  [ТС]
Psilon,
nio,
Я понимаю что проще будет битмапы сохранять, но мне нужно что бы сохраненную или экспортируюмую функцию можно было и отрисовать (график) и использовать ее значения для дальнейших действий (умножения, взятия Фурье образов).
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.10.2012, 16:27
AnutaMypka, ну блин, я вам говорю Аппроксимируйте сплайнами, в файл запишите коэффициенты разложения, потом обратно восстановите.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
22.10.2012, 16:30
pattern Memento

Добавлено через 1 минуту
все еще графики свои мучаешь)
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 16:44  [ТС]
Psilon, а что за сплайны?Я не понимаю что вы имеете в виду.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.10.2012, 16:48
AnutaMypka, википедия
Сплайн (англ. spline - планка, рейка) - функция, область определения которой разбита на конечное число отрезков, на каждом из которых сплайн совпадает с некоторым алгебраическим полиномом. Максимальная степень из использованных полиномов называется степенью сплайна. Разность между степенью сплайна и получившейся гладкостью называется дефектом сплайна. Например, непрерывная ломаная есть сплайн степени 1 и дефекта 1.
По моему опыту дает самую близкую к исходной функции интерполяцию. Синусы-косинусы записать в файл затруднительно, а вот коэффициенты квадратной-кубической параболы запросто.
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 16:57  [ТС]
Psilon, а вы использовали сами этот сплайн? как с ним работать? Как записывать в файл данные что бы сохранять и потом можно было обратно импортировать?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.10.2012, 17:01
вообще самым правильным будет работать не с изображениями графиков, а с данными из которых они формируются.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.10.2012, 17:03
AnutaMypka, ну вообще у нас был курс численных методов и я представляю. Программа по интерполяции сплайнами у меня есть, но к сожалению на дельфи. Поэтому вам придется самому посмотреть. Если коротко: ищется не такая функция, которая проходит через все точки, а ищется множество функций, таких, чтобы проходя через любые 2 точки в этих точках производные были равны. Ну если по-человечески, то ось X разбивается на несколько отрезков, у каждого отрезка функция имеет свой вид. После этого все эти функции "склеиваются" (равенство производных) и получается функция. Вот пример программы на дельфи, попробуйте различные варианты:

1) жмете "задать"
2) щелкаете произвольные точки на графике
3) щелкаете кнопку "график" (на исходной форме)

После этого там есть в радиокнопках различные виды интерполяции, попробуйте их, поймете, что я имею ввиду. Можно и ньютоном, но он дает очень большой размах (особенно если точек много и идут они вот так зигзагом -> wwwww <-

А пока вы просвещаетесь, я поищу вам инфу про то, как это дело закодировать (если вам лень)
Вложения
Тип файла: rar Multi.rar (253.9 Кб, 12 просмотров)
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 17:04  [ТС]
nio, вот что я и хочу. Значения функции в каждой точке записывать в файлик, а птом его сохранять и импортировать/экспортировать. Как это сделать?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.10.2012, 17:05
nio, сплайны строятся по точкам, которые дают на вход. там никаких графиков не нужно, только значение функции. Зная функцию, эти точки можно посчитать и забить в файл. Потом из файла выгрузить и построить по ним сплайн.

Добавлено через 41 секунду
AnutaMypka, в принципе можно и значение в каждой точке, но тогда придется делать ОЧЕНЬ много точек (и при увеличении разрешения график будет уничтожен). Сплайны в данном случае - выход

В принципе: вот
http://www.machinelearning.ru/... 0%BC%D0%B8
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 17:06  [ТС]
Psilon, спасибо. Просто я ищу наиболее простой способ для реализации, т.к. сроки поджимают, то не хочется заморачиваться на лишнем..
Цитата Сообщение от Psilon Посмотреть сообщение
AnutaMypka, в принципе можно и значение в каждой точке, но тогда придется делать ОЧЕНЬ много точек (и при увеличении разрешения график будет уничтожен). Сплайны в данном случае - выход
у меня для графика идет 512 точек :-)
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.10.2012, 17:08
AnutaMypka,
Цитата Сообщение от AnutaMypka Посмотреть сообщение
не хочется заморачиваться на лишнем..
Что делать это лучший способ
Основными достоинствами сплайн-интерполяции являются её устойчивость и малая трудоемкость. Системы линейных уравнений, которые требуется решать для построения сплайнов, очень хорошо обусловлены, что позволяет получать коэффициенты полиномов с высокой точностью. В результате даже про очень больших N вычислительная схема не теряет устойчивость. Построение таблицы коэффициентов сплайна требует O(N) операций, а вычисление значения сплайна в заданной точке - всего лишь O(log(N)).
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.10.2012, 17:13
Psilon, да про сплайны это понятно, не понятно только как формируются графики у ТС. Может там действительно проще все точки сохранить.
Цитата Сообщение от AnutaMypka Посмотреть сообщение
начения функции в каждой точке записывать в файлик, а птом его сохранять и импортировать/экспортировать. Как это сделать?
Зависит от того, что у тебя за графики и как они рисуются.
Если прорисовывается каждый пиксель, то и сохранять нужно эти пиксели с учетом координат
пример: L:01; X:10; Y:110; C: Red (линия 01; x= 10; y=110; цвет: красный)
Т.е. нужно придумать собственный протокол.

Если рисование происходит методами (готовые примитивы), то тогда необходимо делать, как сказал Psilon - сплайнами.
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 17:23  [ТС]
nio, У графика 512 точек, которые рисуются с помощью функции DrawLines цветным пером.
А нельзя сделать что бы сохранялись данные массива графика (X и Y координаты), а потом когда импортируешь все эти данные просто записывались в пустой массив и рисовались кистью которая предназначена для этого массива?

Добавлено через 1 минуту
Psilon, а есть какие то реализации этого сплайна? Честно говоря меня напугали формулы по вашей ссылке....
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.10.2012, 17:25
AnutaMypka, поскольку у тебя рисование изначально происходит
Цитата Сообщение от AnutaMypka Посмотреть сообщение
с помощью функции DrawLines
то и данные в файл нужно сохранять те, по которым потом этот DrawLines, снова сможет отрисовать такую же линию
0
 Аватар для AnutaMypka
2 / 2 / 0
Регистрация: 03.10.2011
Сообщений: 109
22.10.2012, 17:28  [ТС]
Цитата Сообщение от nio Посмотреть сообщение
AnutaMypka, поскольку у тебя рисование изначально происходит
Сообщение от AnutaMypka
с помощью функции DrawLines
то и данные в файл нужно сохранять те, по которым потом этот DrawLines, снова сможет отрисовать такую же линию
так в DrawLine мы задаем массив точек и перо. Можно же просто импортировать функции в заранее подготовленный массив, отрисовка которого уже реализована,просто массив пуст до импорта?
Как реализовать сохранение в файл и импорт, подскажите пожалуйста?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.10.2012, 19:01
AnutaMypka, сериализуй массив точек делов-то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.10.2012, 19:01
Помогаю со студенческими работами здесь

Экспорт и импорт....
ЗДРАСТВУЙТЕ... Хотел бы задать небольшой вопрос об экспорте и импорте в лотусе. Хотел бы разобраться с этим делом. Знаю что сущ-ет...

Импорт и экспорт на VB
Люди помогите плз с импортом и экспортом. Проблема такая необходимо программно с помощью VB экспортировать таблицы из одной базы Access в...

Импорт | экспорт
Всем привет! Пожалуйста помогите. Нужен Lotus Enterprise Integrator - LEI

Импорт и экспорт объектов
Здравствуйте. Задача следующая: Имеем некоторое приложение и dll. В приложении имеем описание и реализацию класса. В dll хотим: а)...

Экспорт и Импорт БД и медиа
Есть ли плагин для экспортирования бд и медиа, бесплатный, естественно, так чтобы нажатием одной кнопки он сохранял все настройки и медиа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru