С Новым годом! Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 4
1

Аппроксимация графика по фотографии

08.04.2013, 02:14. Показов 5321. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Есть фотография (см.вложение). Нужно красный график аппроксимировать точками. Помогите, пожалуйста.
Миниатюры
Аппроксимация графика по фотографии  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2013, 02:14
Ответы с готовыми решениями:

Аппроксимация графика
Здравствуйте, подскажите пожалуйста как линейно аппроксимировать график построенный в матлабе по...

Аппроксимация графика
добрый день, форумчане! у меня возникла следующая проблема: не знаете ли вы, есть ли в matlab...

Аппроксимация графика (плавное соединение экспериментальных точек)
Друзья, такой код работает: n= T= plot(n,T) x = linspace(min(T),max(T),1000); y =...

Аппроксимация графика
Помогите аппроксимировать линии на графике

8
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
08.04.2013, 11:44 2
Цитата Сообщение от vasya_alexeev Посмотреть сообщение
Нужно красный график аппроксимировать точками
Что ты имел ввиду???
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
08.04.2013, 13:00 3
эээ... возможно имелось ввиду наложить на график сетку и аппроксимировать полученные точки?
0
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 4
08.04.2013, 22:14  [ТС] 4
Простите за некорректность изложения. Попробую изложить правильнее. Нужно как-то выделить красную часть картинки и "заполнить" её точками. Короче говоря из точек построить такой же график. Вот это я имел в виду.
0
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
09.04.2013, 12:17 5
Цитата Сообщение от vasya_alexeev Посмотреть сообщение
Простите за некорректность изложения. Попробую изложить правильнее. Нужно как-то выделить красную часть картинки и "заполнить" её точками. Короче говоря из точек построить такой же график. Вот это я имел в виду.
Ясно. Мне на ум пришло два способа это реализовать. Первый - это просто впрямую с помощью функции ginput пройти весь график и оцифровать его. Способ конечно не элегантный, но тем не менее вот что получилось:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
imdata=imread('C:\Users\lomt\Desktop\321.jpg');
imagesc(imdata); %загрузили картинку 
grid minor
[x,y]=ginput(60); %функция на выходе даёт координаты 60 точек, которые 
% пользователь сам выбирает мышкой
x=x-x(1); % переносим начало кривой в начало координат
y=y-y(1);
[p]=polyfit(x,y,6); % аппроксимация полиномом 6-ой степени
x_new=0:0.1:100;
f=polyval(p,x_new);
figure(1);
plot(x_new,f,'r'); %строим получившуюся кривую
grid on
Второй способ заключается в том, чтобы считать изображение в RBG матрицу, выделить области, которые отвечают красному цвету графика на изображении и отсюда уже получать оцифровку и аппроксимацию. Это красиво, но у меня пока руки не дошли. Позже покумекаю.

Добавлено через 36 минут
Сорри, вот не косячный вариант

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
imdata=imread('C:\Users\lomt\Desktop\321.jpg');
figure(1)
image(imdata); %загрузили картинку 
grid minor
[x,y]=ginput(60); %функция на выходе даёт координаты 60 точек, которые 
% пользователь сам выбирает мышкой
x=x-x(1,1); % переносим начало кривой в начало координат
y=y-y(1,1);
p=polyfit(x,y,6); % аппроксимация полиномом 6ой степени
x_new=0:0.1:150;
f=polyval(p,x_new);
figure(2);
plot(x_new,-f,'r'); %строим получившуюся кривую
grid on
2
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 4
10.04.2013, 00:35  [ТС] 6
Спасибо большое! Но, честно говоря, нужно немного иначе) Я, признаться, слабо разбираюсь, возможно в этом и заключается второй способ. Но нужно примерно так. Перевести картиночку в бинарное изображение и обучить этому изображению нейросеть. Ну и на выходе график похожий на красную кривую. Как-то вроде так.
0
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 4
13.04.2013, 02:28  [ТС] 7
Мужики, выручайте.
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
24.04.2013, 14:39 8
Действительно. Хотелось бы услышать комментарии знающих людей. Мне, например интересно как можно с картинки (т.е. массива) вырезать только те элементы, которые находятся в определенном диапазоне RGB. Но траблы у меня даже при попытке перевести из RGB в тоны серого. Вот к примеру:
Matlab M
1
2
3
4
clc; close; clear;
img = imread('data.jpg');
img1 = rgb2gray(img);
image(img1)
И картинки: до и после.
Миниатюры
Аппроксимация графика по фотографии   Аппроксимация графика по фотографии  
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
24.04.2013, 15:19 9
Цитата Сообщение от Dimka_rtf Посмотреть сообщение
Но траблы у меня даже при попытке перевести из RGB в тоны серого
замени функцию image на imshow Потом попробуй пороговую бинаризацию im2bw, порог придется подобрать. Все равно будут разрывы, можно попробовать их замкнуть по шаблону imclose, или хотя бы сделать дилатацию imdilate но не уверен что получится...
1
24.04.2013, 15:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2013, 15:19
Помогаю со студенческими работами здесь

Аппроксимация графика
Здравствуйте Я строю графики по точкам, заданных матрицами. Для выполнения работы требуется их...

Аппроксимация, постройка графика
Пытался сделать курсовик, но все тщетно. К сожалению уровень знания с++ не позволяет реализовать...

Аппроксимация графика, построенного по точкам
в С++ билдере, Необходимо сгладить(аппроксимировать) график построенный по точкам х,у( что б график...

Создать функцию из графика (Аппроксимация)
Добрый день! В результате эксперемента создан график. Каким путём из этого графика можно...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru