Имя: Пароль:
IT
 
Может кто подскажет - нужна программа подсчета клеток по изображению
,
0 RomaH
 
naïve
30.10.13
10:33
http://listick.ru/share/wmnDQ
задача с такого изображения посчитать общее количество  клеток
и количество клеток с темной окраской

где искать и куда копать
1 Godofsin
 
30.10.13
10:39
чот не понял... Каких клеток? пикселей чтоле?
2 RomaH
 
naïve
30.10.13
10:42
(1) на изображении снимок с микроскопа - кровь или ткани органов
в материале есть клетки - их окрашивают
здоровые - светлые
больные - более темные
вот надо подсчитать соотношение больных к здоровым
3 lucifer
 
30.10.13
10:48
(2) погрешность будет, много смазаных клеток, не четкое изображение
4 Godofsin
 
30.10.13
10:48
(2) Если только отношение (к примеру, в процентах), то тогда нужно посчитать кол-ко точек с разными цветами. Ну и потом как угодно поделить одно на другое. Ну и конечно нужен диапозон цветовю Короче, задачка специфичная.
5 RomaH
 
naïve
30.10.13
10:53
(3),(4) т.е. вы можете взятся за эту задачу?
по сути не исключается работа человека с программой
напрример - сначала вывести контрастностью или еще чем изображение так, что бы клетки четко выделялись на фоне фона
а потом вывести - что бы на белом фоне остались только "больные" клетки - это в любом случае будет быстрее подсчета "вручную"
6 Godofsin
 
30.10.13
10:59
(5) Готов оплатить работу? Если есть снимок с микроскопа в эл. виде, пришли на мыло. Надо с ним поиграться.
И да, это будет Делфи )))
7 Jump
 
30.10.13
11:04
(0)ИМХО так-
Сначала обработка изображения для повышения контраста фильтром.
Потом писать подсчет клеток вообще, заодно подсчитывая сколько из них темных.
8 mzelensky
 
30.10.13
11:06
(0) в делфяке достаточно просто просто реализовать.
9 forforumandspam
 
30.10.13
11:06
(0) Больше на структуру дерева похоже.
10 Godofsin
 
30.10.13
11:13
(8) ну... не совсем уж тривиально. Нужно продумать алгоритм по определению контура/кол-ва клеток с учетом размытости границ.
11 Стрелок
 
30.10.13
11:17
писал такое лет 12 назад на делфях. суть - калибровка на образце известного размера для вычисления соотношения мм.кв/пиксель. затем подсчёт пикселей с разными цветами и перевод в мм.кв
12 mzelensky
 
30.10.13
11:17
(10) если ему просто отношение нужно, то не обязательно. Просто бежишь по изображению и считываешь пиксели. Получаешь число темных пикселей и число светлых. Далее делишь и получаешь отношение (ну или процент).

Разумеется если ему не нужно знать количество отдельных пятен (но по (0) вроде не нужно)
13 Classic
 
30.10.13
11:18
(10)
Та ладно. Просто делится картинка на квадраты. Для каждого квадрата определяется его "больность". Например больше 60% - квадрат окрашен. Потом определяем, есть ли смежные окрашенные квадраты. Если есть - то это один общий квадрат.
По тому же принципу получаем количество здоровых клеток.

При большой детализации - получаем достаточно точную картину
14 Classic
 
30.10.13
11:18
(12)
Количество пикселей у здоровых и больных клеток может быть разное
15 Стрелок
 
30.10.13
11:18
контуры нет необходимости определять. нужна площадь а для этого см 11
16 Стрелок
 
30.10.13
11:19
я такое делал для определения концентрации наркоты
17 mzelensky
 
30.10.13
11:19
(14) да, ему количество нужно, а не процент. Тогда не прокатит.
18 Кай066
 
30.10.13
11:22
поработать с резкостью, а потом

http://gis-lab.info/qa/im-countpixels.html
19 NcSteel
 
30.10.13
11:23
если бы процент, то это проще... И то будет погрешность... А вот прям точное количество - проблема.
20 Godofsin
 
30.10.13
11:24
(13) Ну как вариант, но тоже есть что продумать надо.
21 Стрелок
 
30.10.13
11:25
двигаясь по горизонтале можно определить начало и конец клетки но есть нюанс если клетки наложились. имхо надо искать какие то уникальные особенности указывающие на центр клетки и только тогда играться
22 Classic
 
30.10.13
11:26
В (13) станадратный механизм обработки изображений. Ну очень упрощенный конечно, но для (0) должно хватить. При пиксельной детализации определится вообще идеально

Единственно - сложная процедура определения смежных областей
23 regniws
 
30.10.13
11:28
уууууу, такие обработки никто попиксельно не делает. спектральный анализ это и преобразования фурье, но что об этом говорить 1сникам, они же ууууууух
24 Godofsin
 
30.10.13
11:31
(23) ну всех убрал просто!
25 Повелитель
 
30.10.13
11:34
(0) Мне вот интересно, что это за задача.
Если человек к реальному медицинскому прибору, пишет программу, то как его вообще без знаний туда пустили?
А так похоже на одну из шарлатанских программ, которые на каждом углу висят под названием "Компьютерная диагностика организма". ))
26 Classic
 
30.10.13
11:39
(21)
Двигаясь по горизонтали/вертикали определяем принадлежность пикселя(больной, здоровый, пустота). Если она не совпадает с принадлежностью левого, верхнего и левоверхнего пикселя - то увеличиваем счетчик клеток данного типа.
(23)
Молодец. Красавец. Можешь теперь с высокоподнятой головой покинуть ветку :)
(25)
Можно подумать, что программы пишут только высокопрофессиональные спецы. Разные люди пишут
27 Fish
 
30.10.13
11:41
(26) "Можно подумать, что программы пишут только высокопрофессиональные спецы. Разные люди пишут" - конечно. И результат, соответственно тоже получается разный.
28 supremum
 
30.10.13
11:42
было уже
29 Classic
 
30.10.13
11:43
(27)
Не всегда квалификация программиста коррелирует с качеством программного продукта.
HELLO WORLD будет написана одинакова 80% програмеров
30 Повелитель
 
30.10.13
11:44
(29) Вот скажи, ты бы хотел чтобы тебе диагноз по его программе поставили?
Я бы нет ))
31 Fish
 
30.10.13
11:46
(29) Ты неправ про 80%. Языков программирования несколько больше, чем 1, и соответственно, программы по выводу HELLO WORLD будут сильно различаться уже хотя бы языками :)
32 Стрелок
 
30.10.13
11:46
(30) а какие знания требуются от программиста для допуска к медицинскому прибору? что он должен по твоему знать?
33 Стрелок
 
30.10.13
11:47
(25) а давно программы стали диагностировать? может все-таки этим люди занимаются?
34 Повелитель
 
30.10.13
11:48
(32) Понятия не имею что он должен знать, но уж точно не задавать вопросов на форуме 1с. Мое личное мнение
35 Стрелок
 
30.10.13
11:51
(34) ты так в этом уверен? т.е. если тебе предложат новую интересную работу по направлению которого ты не знаешь ты откажешься? я правильно понимаю?
36 Classic
 
30.10.13
11:52
(31)
Не важно. В рамках одного языка программирования распределение проф/середняк/ламье приблизительно совпадает с средним по всем языкам. А 80% реализаций данной программы совпадет
37 Стрелок
 
30.10.13
11:52
(34) а чем тебе форум не нравится? или чел попросил на 1С написать? или для тебя секрет что тут очень много программеров которые пришли в 1С из других языков?
38 vde69
 
модератор
30.10.13
11:55
вообще задача относительно простая

алгоритм
1. делаем копию изображения
2. на копию накладываем фильтр на цвет (тут нужно поигратся)
3. полученую копию преобразуем к черно белому варианту без градаций серого (порог - нужно подбирать)
4. считаем черные пиксели которые имеют соседей и формируем объекты
5. считаем объекты которые имеют определенное количество точек (например от 100 до 300)

далее повторяем для другого фильтра.

задачка уровня "курсовой работы"...
39 Стрелок
 
30.10.13
11:56
(38) ой ли. я тоже невнимательно прочитал задачу. ему количество кровяных кленток надо а не соотношение "белые/черные".
40 vde69
 
модератор
30.10.13
11:59
(39) а ты не внимательно прочитал мой пост, я предлогаю именно то что нужно...

кстати именно этот алгоритм используется для распознования дорожных знаков...
41 lucifer
 
30.10.13
12:06
(5) нет не готов, просто говорю что могут быть грабли )
42 Стрелок
 
30.10.13
12:06
(40) всё это я написал давно и выше. но проблема при наложении двух и более объектов друг на друга
43 lucifer
 
30.10.13
12:07
(42) да да, и это тоже
44 Стрелок
 
30.10.13
12:14
кроме того клетки имеют неправильную форму на фото. т.е. если клетка на фото имеет форму буквы "С" или "S" то алгоритм определения количество объектов по наличию белого пикселя справа или слева от чёрного не срабатывает.
45 Jump
 
30.10.13
13:00
Насколько я понимаю изначально задача стоит посчитать количество клеток вообще, а потом уже количество кровянных клеток. Поэтому все попиксельные алгоритмы подсчета соотношения идут лесом.
Надо загнать картинку в фотошоп пограться с фильтрами чтобы добится четкого выделения объектов, после чего реализовать этот фильтр программно, и на обработанной картинке посчитать объекты и обозначить их границы, и после этого границы объектов наложить на исходную картинку и выбрать уже объекты с нужным цветом.
46 Classic
 
30.10.13
13:11
(44)
Ну значит надо не слева/вверху проверять, а на уже построенной матрице. Смысл то от этого не теряется.
47 DGorgoN
 
30.10.13
14:15
(44) Есть средние размеры. Изобратать генетические алгоритмы для (0) не стоит имхо. Разумный предел +/- у способа в (38)
Программист всегда исправляет последнюю ошибку.