|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.03.2015, 01:48 | #1 |
Пользователь
Регистрация: 29.03.2015
Сообщений: 11
|
выделение максимума графика
Дана картинка с графиком.После отрисовки массива точек графика нужно отметить на ней максимум по амплитуде красным кружком.Как это сделать?
Есть только код отрисовки массива цветов графика Код:
|
30.03.2015, 03:15 | #2 | |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Цитата:
А, далее, исходя из положения максимумов, рисовать круги. Надеюсь, идея понятна... |
|
01.04.2015, 16:34 | #3 |
Пользователь
Регистрация: 29.03.2015
Сообщений: 11
|
Я так понял:двумерным массивом нужно пройтись строчку за строчкой,как только попадётся черный пиксель-это будет максимум получается.Затем по координатам массива кружки рисовать. Вопрос как тут двумерный массив пикселей прописать(в смысле с моим кодом),хотя бы пример. И вопрос-если максимумов будет не один,что тогда???
|
02.04.2015, 00:08 | #4 | |
Пользователь
Регистрация: 29.03.2015
Сообщений: 11
|
Цитата:
Код:
|
|
02.04.2015, 02:30 | #5 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
По хорошему, перед тем как добавлять точки в массив, было бы не плохо определить относится ли она к графику или является, так называемым, "мусором" (на скинах из топика он есть). При этом следует учесть, что толщина линии графика (по крайней мере на скринах в топике) больше 1 пикселя.
Кроме того, поиск максимума в массиве у Вас реализован явно неправильно. В начале нужно определить координаты всех точек графика (в рамках допустимой погрешности) и уже только после этого искать максимум в получившемся массиве. Последний раз редактировалось Streletz; 02.04.2015 в 02:37. |
05.04.2015, 20:20 | #6 | |
Пользователь
Регистрация: 29.03.2015
Сообщений: 11
|
Цитата:
Теперь мы не ищем черный цвет, а ищем НЕ белый. Погрешность довольно высокая, но работает. Проблему с линией толще 1 пикселя обошли довольно топорно. После нахождения первого максимум, пропускаем 10 пикселей, подразумевается что максимумы не будут расположены так близко друг к другу. Код:
А что если использовать какую нибудь функцию подгона всех изображений к одному стандарту пикселей,и сделать график в 1 пиксель,ну или немного четким.Например функцию из CvInvoke.cvResize Method EmguCV http://www.emgu.com/wiki/files/2.0.0...49feaef519.htm Код C# Код:
Nearest-neighbor interpolation CV_INTER_LINEAR Bilinear interpolation CV_INTER_CUBIC resampling using pixel area relation. It is the preferred method for image decimation that gives moire-free results. In case of zooming it is similar to CV_INTER_NN method CV_INTER_AREA Bicubic interpolation Какую лучше интерполяцию выбрать и даст это нам что нибудь вообще? Где то я нашёл информацию про зубцы,как выделить несколько R-зубцов сразу. Все не понял. Выделение зубца R Зубец R можно найти, зная, что он имеет самую большую амплитуду. Первое, что приходит в голову, это запустить цикл по массиву y1[] и если какое-то его значение равно Max(y1[]), то это и будет зубец R. Такой метод будет работать, только если в ROI, выбранном пользователем, один зубец R.На самом же деле, зубцов R в выбранном участке может быть несколько, причем, амплитуда одного зубца может отличаться от амплитуд других зубцов. Поэтому необходимо модифицировать предложенный метод поиска зубца R.А именно, внутри цикла по ind будем проверять условие: если y1ind-Max(y1[]) меньше какого-то заданного значения и эта точка является локальным максимумом, т.е. y1[ind] ≤ y1[ind + j], где j = -2, 2 (такую область мы выбрали экспериментально). Чаще всего зубец R представлен несколькими пикселями с одинаковыми значениями y1[], тогда зубцом R будем считать средний (по горизонтальной координате) из этих пикселей. Таким образом, мы находим зубец R и помещаем его в очередь zubci. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выделение фрагмента изображения, фильтр максимума C# | Desired | Помощь студентам | 3 | 01.11.2013 10:36 |
последовательность чисел - поиск максимума, второго после максимума значения, количество чисел равных максимуму | wasy96 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 28.09.2011 01:19 |
Нахождение минимума и максимума графика в Delphi | BOOFER | Помощь студентам | 1 | 20.06.2010 10:12 |
Поиск максимума | sp_Иришка | Общие вопросы C/C++ | 9 | 17.12.2009 15:18 |
выделение жирным шрифтом минимума и максимума из диапазона | Bazzer | Microsoft Office Excel | 11 | 28.06.2008 18:50 |