Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.01.2017
Сообщений: 53

Найти пиксели одного цвета и выделить их Rectangl-ом!

17.11.2018, 20:36. Показов 4417. Ответов 28

Студворк — интернет-сервис помощи студентам
И так задача есть Bitmap на нем есть области розового цвета ну не важно какие они какого размера и тд важно то что на bitmap всего лишь 2 цвета черный фон ну и например розовые круги или пятна! нужно выделить эти пятна с помощю rectangle
вроди не сложно должно быть но вот как реализовать поиск именно одного цвета а потом выделение и размер этих пятен непонятно! Помогите Зарание Огромнишее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2018, 20:36
Ответы с готовыми решениями:

как найти пиксели одного цвета
Мне необходимо найти все пиксели одного цвета в изображении, а затем превратить их в слои, я использую Bitmap и его свойство GetPixel(x,y)...

Как получить пиксели (цвета) из image
Есть Image. Как получить все цвета пикселей? А то все что нахожу не очень подходит. Колдовал с bitmapimage, но что-то не вышло.

Найти координаты шахматных клеток одного цвета
#include <iostream> #include <fstream> using namespace std; int main() { //ifstream cin("input.txt"); //ofstream...

28
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
19.11.2018, 00:30
Студворк — интернет-сервис помощи студентам
droman1, Ну если готовые библиотеки не хотите, вначале уменьшайте разрешение и делайте шаблоны. потом будете сравнивать с шаблонами.
Для такой задачи очень подходит нейросеть.
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
19.11.2018, 08:31
В предыдущем примере выделялось все, что не черное (ну или не совсем черное)
VB.NET
1
2
3
cc = CInt(C.R) + CInt(C.G) + CInt(C.B)
        If cc < 16 Then Exit Sub 'Здесь >30, чтобы не цепляла участки не совсем темные
        'Если точка почти черная, то выход
Чтобы выбирать конкретный цвет, тут можно поиграться - для выделения только красных участков
VB.NET
1
2
3
cc = CInt(C.R) 
        If cc < 100 and (CInt(C.G)+  CInt(C.B)>20)  Then Exit Sub 
        'Если точка не красная, то выход
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
20.11.2018, 09:48
Цитата Сообщение от rvs_dk Посмотреть сообщение
при слишком больших пятнах происходит переполнение стека.
Не вызывайте функцию саму на себя!
VB.NET
1
2
3
4
5
Sub Col(ByVal X As Integer, ByVal Y As Integer, ByRef R As Rectangle)
...
Col(X, Y + 1, R)
        Col(X - 1, Y, R)
        Col(X + 1, Y, R)
Так не нужно
0
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
20.11.2018, 13:43
Я всегда думал, что рекурсия - это нормально.
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
20.11.2018, 15:11
rvs_dk, Как видите для стека не нормально
Да и необходимости вызывать ее внутр я не вижу.
Но можно и внутри - только по другому.
Например вот так:
VB.NET
1
2
3
4
5
6
7
8
Sub Col(ByVal X As Integer, ByVal Y As Integer, ByRef R As Rectangle)
Dim i as Integer=0
m1:
...
i = i + 1
If i=1 Then Col(X, Y + 1, R) : GoTo m1
       If i=2 Col(X - 1, Y, R) : GoTo m1
       If i=3 Col(X + 1, Y, R) : GoTo m1
Добавлено через 47 минут
Сори не стер
VB.NET
1
2
3
If i=1 Then : GoTo m1
       If i=2 Then : GoTo m1
       If i=3 Then : GoTo m1
1
0 / 0 / 0
Регистрация: 25.01.2017
Сообщений: 53
20.11.2018, 22:30  [ТС]
Ок переходим на уровень посложнее! КАК СДЕЛАТЬ FACE CAPTURE или как сделать rectangle на кончиках пальц
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
21.11.2018, 13:40
Вам нужно четко определиться со своей задачей!

Если делать распознавание то как я уже вам писал - придется писать нейросеть.
(разумеется можно найти готовую библиотеку)

Ибо как происходит распознавание?
Компьютер ведь не может придумать сам
Попробую описать как можно короче.
Вы берете например изображение и сравниваете его с другим совпадают - значит одинаковые и выводим результат.
Вот например у вас на картинке буква. Любая ну возьмем например "А".
Соответственно компьютер должен сравнить это изображение с контрольными изображениями всего алфавита.
И выдать свой вердикт при совпадении.Вроде бы легко всего 36 проверок так?

А теперь представьте, что мы наклонили нашу букву "А" например на 90 градусов.
Найдет он ее? Ну если сравнит свои картинки поворачивая их на все углы по порядку то найдет
Потом например нашу букву "А" можно сместить , растянуть, сменить шрифт и тд.
Начинаете понимать трудоемкость задачи?

А прелесть уже готовой (натренированной) нейросети в том в том, что ей не нужно проделывать все эти операции.
Можно так сказать , что она "смотрит на картинку" один раз и говорит нам нашу букву "A"
видео примера нейросети

В вашем телефоне например в для поиска лица в кадре используется нейросеть.
1
0 / 0 / 0
Регистрация: 25.01.2017
Сообщений: 53
21.11.2018, 16:29  [ТС]
ООгого круть спасибо огромное!
хмм а как например сравнивать 2 bitmap
и можешь покидать ссылки или еще че по неиросети очень затянуло
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
21.11.2018, 17:13
Цитата Сообщение от droman1 Посмотреть сообщение
можешь покидать ссылки или еще че по неиросети очень затянуло
droman1, На этом же канале есть еще видео про нейронки. например
У них понятным языком все рассказано подробно. Остальное YouTube сам тебе порекомендует

Добавлено через 19 минут
Цитата Сообщение от droman1 Посмотреть сообщение
хмм а как например сравнивать 2 bitmap
Сравнивай цвет каждой точки.
VB.NET
1
2
3
4
5
6
7
Dim bitm As Bitmap = New Bitmap 
Dim bitm2 As Bitmap = New Bitmap
Dim col As Color 
Dim col2 As Color    
col = bitm.GetPixel(x, y) 
col = bitm1.GetPixel(x, y)
If col = col2 Then .....
Где x,y координаты точек.

Добавлено через 2 минуты
Только в начале советую преобразовать изображение - привести его к низкому разрешению и малому количеству цветов.
например сделать его 50х50 в два цвета.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2018, 17:13

Найти максимальное количество бусинок одного цвета, идущих подряд
Помогите пожалуйста решить задачу: Имеется замкнутое ожерелье, состоящее из бусинок одного из трёх возможных цветов: красного, жёлтого,...

Найти вероятность того, что среди вынутых ,все шары одного цвета.
В первой урне 6 белых и 4 черных шара, а во второй - 5 белых и 7 черных шаров.из первой урны случайным образом взяли 3 шара, а из второй -...

Найти вероятность того, что вынутые наудачу 2 нити будут одного цвета
в мешочке смешаны нити, среди которых 30% белых, а остальные красные. Найти вероятность того, что вынутые наудачу 2 нити будут одного...

Найти ожидаемое количество серий (по признаку повтора одного цвета) в процентном соотношении
В урне белый шар и чёрный шар. Происходит опыт, заключающийся в вытаскивание одного из шаров наугад с последующим возвращением в урну. ...

Найти вероятность того, что среди вынутых шаров все шары одного цвета.
В первой урне 6 белых и 7 черных шаров, а во второй урне 5 белых и 4 черных шаров. 3 первой урны случайно вынимают 2 шаров, а с другой - 3...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru