![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]()
Пишу программу, которая должна сосчитать количество клеток на загруженном изображении. Да да, именно клеток. Суть задачи такова: есть некое изображение(фотография) клеток. Требуется: посчитать количество всех клеток. Это моя курсовая. Тема мне показалась очень интересной и перспективной. У меня есть несколько мыслей. А именно, например: когда изображение загружено, то создается некий "квадратик", который перемещается по изображению и "получает" в свои границы эти кружочки и каждый раз, когда какой то кружок попадает в его границы, то это считается как один кружок и так далее. Вот, примерно такая первая мысль по реализации пришла в голову. Если есть какие-то другие идеи, предложения, похожие проекты,то если не трудно, выложите исходники для ознакомленя. Заранее спасибо за ответы и помощь.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
1.найти кусочек клетки
2. если нашли то добавить счетчик иначе закончить 3. стереть клетку ОДНУ(ту у которой мы нашли кусочек) 4. повторить с п.1. самая большая проблема как разделить две рядом расположенные клетки( или те которые накладываются). здесь может помочь 1. ограничение на размер клетки (если они есть) удалять не более чем ... 2. выделение контуров и удаление внутри контура 3. разделение соседей по оттенку.
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]() Цитата:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
стереть на рабочей копии(загруженной в память) изображения
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#5 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Я думаю, что проще будет общаться с клетками, переведя изображение в BW режим (1), Далее осветляем фон (2) и выделяем края клеток, дабы оставить только окружности (3)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]() Цитата:
А как будет выглядеть код осветления изображения? И по какому принципу выделять края клеток?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
![]() |
![]() |
![]() |
#7 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Black & White (чб)
Осветление - это прибавление к цвету пикселя по n к каждому каналу ($A0A0A0 + $050505). По принципу анализа соседних клеток - если цвета отличаются на ДельтаИкс, то выделяем край. На фото выделение края по Превитту. http://ru.wikipedia.org/wiki/%D0%9F%...B8%D1%82%D1%82 Если Превитт не понравится, вот Собел: http://ru.wikipedia.org/wiki/%D0%9E%...B5%D0%BB%D1%8F
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 14.04.2010 в 09:32. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]()
Alex Cones, попробую начать делать как Вы предложили. Вот, нарыл код, который цветное изображение переводит в чернобелое по алгоритму Флойда-Стейнберга и переделал его под себя:
Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Ошибка на строке Image2.Picture.Bitmap.Assign(bt) скорее всего.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,210
|
![]()
Ну, поставил бряк я на эту строчку
Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поле слияния в виде ряда заполненных клеток | Nash1 | Microsoft Office Word | 5 | 17.07.2009 23:07 |
количество цифр и количество символов до первой гласной буквы | 111111 | Общие вопросы C/C++ | 2 | 22.12.2008 12:15 |
Подсчёт непустых клеток | mik | Microsoft Office Excel | 7 | 27.10.2007 13:40 |
ComboBox - убийца нервных клеток | krem | Компоненты Delphi | 20 | 15.06.2007 22:07 |