|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2019, 20:14 | #1 |
Новичок
Джуниор
Регистрация: 09.04.2019
Сообщений: 1
|
openCV поиск объекта по цвету
Доброго времени суток всем. Мне необходимо задетектить объект по цвету на картинке, и в случае, если объект найден, произвести какие-либо действия. Сначала делал реализацию через GetPixel(), но программа работает страшно медленно, поэтому данный подход пришлось отбросить почти сразу же. Затем выбор пал на openCV, и вроде как у меня даже получилось выделить объект по цвету. Сложности начались далее, а именно, после определения объекта на картинке нифига не понятно что делать дальше. Код выглядит следующим образом:
Image<Bgr, Byte> imgWindowScreen; Image<Gray, Byte> imgWindowScreenProcessed; Bitmap bmpScreenshot; System.Drawing.Graphics gfxScreenshot; Size size = new Size(400, 120); // получаем скриншот экрана bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds. Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); gfxScreenshot = Graphics.FromImage(bmpScreenshot); // получаем необходимую область экрана gfxScreenshot.CopyFromScreen(700, 347, 0, 0, size); // преобразовываем Bitmap -> Graphics для дальнейшей работы imgWindowScreen = new Image<Bgr, Byte>(bmpScreenshot); // получаем изображение в диапазоне цветов imgWindowScreenProcessed = imgWindowScreen.InRange(new Bgr(3, 25, 82), new Bgr(50, 98, 200)); И вот тут и возникает сложность. Логика приложения следующая: если пиксели необходимого цвета на картинке есть, то произвести одни действия, если таких пикселей на картинке нет, то произвести другие действия. Вот как я могу определить, имеется ли пиксель необходимого цвета на картинке или нет? Должно получиться что то вроде этого: if (picture has pixels of searched color) {some actions} else {another actions} Что должно стоять на месте "picture has pixels of searched color" в моей конструкции? Буду очень благодарен за помощь! |
13.04.2019, 21:06 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
ну в чем проблема то.
Сделали InRange затем провели бинаризацию. получите области. Далее сегментация. Blob например. Получите куски изображения. Там будут определенные характеристики каждого куска. Площадь и тому подобное. И далее уже проверяйте все ваши остальные условия.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[РЕШЕНО][VB] Поиск значений по цвету и содержанию | Тем:)ч | Помощь студентам | 8 | 17.05.2018 15:59 |
OpenCV Поиск контуров | Olchic | Visual C++ | 0 | 07.10.2015 12:17 |
C# RGB поиск схожих по цвету пикселей. Упрощение изображения. | zink | Помощь студентам | 1 | 08.11.2014 22:09 |
Поиск значения по цвету и вставка в другую книгу | rus33 | Microsoft Office Excel | 2 | 08.11.2012 08:11 |