1 Востаннє редагувалося KilJaeden (30.06.2018 06:05:36)

Тема: Пошук зображень які відрізняються від фону

Мені потрібно знати кількість зображень які відрізняються від фону картинки методоб рекурсивного пошуку в глубину можливо в когось є ідеї як це зробити бо я ще ніколи не працював з картинками тим паче на java

Post's attachments

test3.jpg 20.4 kb, 186 downloads since 2018-06-30 

2

Re: Пошук зображень які відрізняються від фону

наприклад відповідь на це фото повинна бути 1

3

Re: Пошук зображень які відрізняються від фону

Я можу помилятися, але приблизно так:
1. Зображення - це величезний тривимірний масив чисел, перші два виміри - просторові, третій - кольоровий, значення (Червоний, Зелений, Синій), де (0,0,0) - чорний, (255,0,0) - яскраво-червоний, (255,255,255) - білий (припустимо, у нас по байту на значення кольору).
2. Обчислюємо колір тла. Припускаємо, що тло займає більшу частину зображення і є більш-менш монотонним (тобто не буде, скажімо, неба і землі на тлі, або, принаймні, вони не будуть радикально різних кольорів); обчислюємо середнє значення кольору на зображенні і вважаємо його кольором тла.
3. Будуємо контрастне зображення "тло - не тло": якщо колір клітинки відрізняється від кольору тла на певну характеристику (наприклад, евклідова відстань більше 32), то це вважається не тлом. Позначаємо умовне "тло" чорним, "не тло" - білим (наприклад). Замість чорно-білого зображення можна використати просто двовимірний масив чисел, де, скажімо, -1 - тло, 0 - не тло.
4. Шукаємо методом рекурсивного пошуку в глибину окремі фігури і позначаємо їх різними кольорами (чи послідовними числами). Тобто просто перебираємо пікселі контрастного зображення, якщо знайшли десь не-тло (0 чи білий колір) - запускаємо рекурсивний пошук у глибину і позначаємо всі знайдені пікселі кольором (чи номером) наступної фігури (1,2,3 і т. д.). Якщо під час перебору пікселів знаходимо вже знайдені пікселі інших фігур - ігноруємо, очевидно.
5. Кількість фігур - шукана величина. Якщо ви при цьому складали зображення, а не масив чисел, можете його вивести, викладачу має сподобатися.

Подякували: KilJaeden1

4 Востаннє редагувалося KilJaeden (30.06.2018 14:43:53)

Re: Пошук зображень які відрізняються від фону

Я не зовсім розумію 4 крок. А саме як запрограмувати рекурсивного пошуку в глибину. Я знаю що це алгоритм обходу вершин графа і розумію як він працює, але не можу зрозуміти як з його допомогою шукати фігури на зображенні і як програма розуміє де піксель однієї фігури а де вже іншої адже вони для неї по суті однакові.

5

Re: Пошук зображень які відрізняються від фону

Вершини - пікселі, ребра з'єднують сусідні пікселі одного кольору.

Подякували: KilJaeden1