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

Рекурсивная разметка связанных областей

20.05.2014, 21:34. Показов 658. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, никто не сталкивался с разметкой связанных областей? есть код на с++,а нужно в Delphi, а я в нем не разбираюсь, может кто имел дело с этим
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Image = [0 0 0 0 0 0 0 1 0 0 0;
     0 0 0 1 1 0 0 1 0 0 0;
     0 0 0 1 1 0 0 1 1 0 0;
     0 1 1 1 1 0 0 1 1 1 1;
     0 1 1 1 1 0 0 0 0 0 0;
     0 1 1 1 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 0 0 0 0;
     0 0 0 0 0 0 0 1 1 0 0;
     0 0 0 0 0 0 1 1 1 0 0;
     0 1 1 0 0 1 1 1 1 0 0;
     0 1 1 0 0 1 1 1 1 1 1;
     0 1 1 1 0 1 1 0 1 1 0;
     0 0 0 0 0 0 0 0 0 0 0]
Matplot(Image*255) // Посмотрим на нашу матрицу как на картинке
[m,n]=size(Image); // Узнаем горизонтальный и вертикальные размеры матрицы
km = 0; kn = 0; // Они нам еще пригодятся
cur = 1; // Переменная для подсчета объектов
// Цикл по пикселям изображения
for i = 1:1:m
  for j = 1:1:n
    kn = j - 1;
    if kn <= 0 then
      kn = 1;
      B = 0;
    else
      B = Image(i,kn); // Смотри рисунок 3 в статье
    end
    km = i - 1;
    if km <= 0 then
      km = 1;
      C = 0;
    else
      C = Image(km,j); // Смотри рисунок 3 в статье
    end
    A = Image(i,j); // Смотри рисунок 3 в статье
    if A == 0 then // Если в текущем пикселе пусто - то ничего не делаем
    elseif B == 0 & C == 0 then // Если вокруг нашего пикселя пусто а он не пуст - то это повод подумать о новом объекте
        cur = cur + 1;
        Image(i,j) = cur;
    elseif B ~=0 & C == 0 then
        Image(i,j) = B;
    elseif B == 0 & C ~= 0 then
        Image(i,j) = C;
    elseif B ~= 0 & C ~= 0 then        
        if B == C then
          Image(i,j) = B;
        else
          Image(i,j) = B;
          Image(Image == C) = B;
        end
    end 
  end
end
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2014, 21:34
Ответы с готовыми решениями:

Рекурсивная функция у меня другая но только не рекурсивная
Добрый день все ! Писал я про задачку но так и не кто откликнулся напомню о чем речь &quot; Добрый...

Закрашивание областей
как закрасить, чтобы цвет не выходила за пределы окружности

Закрашивание областей
рeaлизовaть aлгopитм зaкрaски для выпуклoгo и мoнотoнногo мнoгоугoльникa

Выделение областей
Доброго времени суток.. Дизайнер тут такую вещь намутил... Прилагаю картинку... Сама картинка...

1
quwy
21.05.2014, 17:33     Рекурсивная разметка связанных областей
  #2

Не по теме:

Это не C++

0
21.05.2014, 17:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2014, 17:33
Помогаю со студенческими работами здесь

Разметка
Всем привет, На кртинке прикрепил слайдер который необходимо сверстать. Я так понял, что ссылка...

Разметка
Как получить такую разметку? &lt;Grid&gt; &lt;Grid.RowDefinitions&gt; ...

Разметка
Подскажите как сделать такую разметку на всех экранах? У меня основная сложность в том что я не...

Разметка
Может кто нибудь сделать такую разметку в php вместе с круглой кнопкой справа и слева

Разметка
Доброго времени суток! Ребят что то совсем затупил,не могу найти где косяк с разметкой или стилями!...

Разметка
Короче нужно написать реферат, но препод сказал от руки, как мне сделать на листах чтобы были...


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

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