Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
15 / 2 / 1
Регистрация: 18.09.2015
Сообщений: 227

Выделение дефектных областей на изображении (opencv python)

13.10.2020, 15:26. Показов 3082. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Стоит задача выделения дефектов на рентгеновских снимках семян. На данном этапе смог найти сами семена, и весь фон вокруг них сделать черным. Но с поиском дефектов возникают проблемы. Некоторые семена сами по себе темные и в среднем их пиксели могут быть такими же по интенсивности, как пиксели дефектов на этих же семенах, разве что перемежаются с более светлыми пикселями. То есть уже не применить пороговое преобразование для выявления дефектов.
Детектор границ Кэнни также не дает нормального результата, поскольку выделяет много мелких деталей, не относящихся к дефектам.
Подскажите, какие еще методы можно попробовать? Может быть стоит сделать какую-то предобработку изображения?

В прикрепленных файлах - исходное изображение и выделенные на нем семена.
Миниатюры
Выделение дефектных областей на изображении (opencv python)   Выделение дефектных областей на изображении (opencv python)  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2020, 15:26
Ответы с готовыми решениями:

Выделение областей на изображении
Добрый день форумчане. Нужно на изображении выделить сам объект и отдельно необходимый мне фон. У кого есть какие соображения?

OpenCV Выделение связных областей
Вопрос есть ли реализация алгоритма выделение связных областей в OpenCV ? (Искал не нашел, да хз как оно звучит на английском) ...

Поиск связных областей на изображении
Всем доброго времени суток. Наткнулся на htrehcbdysq алгоритм поиска связных областей на изображении (псевдокод): void Labeling(BIT*...

9
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
13.10.2020, 15:35
Можно теперь выделить контуры и попытаться классифицировать их. Предварительно ориентацию и размер контура нормализовать.
Это первое что в голову пришло, глядя на вашу картинку.
0
15 / 2 / 1
Регистрация: 18.09.2015
Сообщений: 227
13.10.2020, 15:40  [ТС]
Цитата Сообщение от Катафалк Посмотреть сообщение
самый простой вариант - с помощью knn
Сразу скажу, что особо нет времени вникать в нейронки и machine learning. Желательно все сделать в рамках opencv, без выборок, обучения, просто основываясь на каждом конкретном снимке.
Это не к knn, а просто в принципе ограничения по заданию.
Касательно knn - что это такое? И как классификация поможет именно выделить дефекты?
0
15 / 2 / 1
Регистрация: 18.09.2015
Сообщений: 227
13.10.2020, 15:50  [ТС]
Из того, что пробовал:
1. Детектор границ Кэнни - как уже писал выше, ищет много лишнего и выделяет достаточно малые области.
2. Многократное применения фильтра Гаусса к исходному изображению с целью сделать его "бездефектным". Дальше - вычитание из получившегося исходного изображения и применение алгоритма Watershed. Однако после вычитания остаются не только области дефектов (см. первое изображение). Здесь не очень понятно, как грамотно убрать лишнее, но не "отъесть" слишком много от областей, однозначно относящихся к фону для алгоритма Watershed. И также при этом не потерять некоторые дефекты, что может произойти при использовании Erosion с большим ядром.
3. Пытался привязать порог бинаризации для каждого семени отдельно к его статистикам (СКО, дисперсия), но особого успеха не добился, опять же потому, что есть темные семена, для которых фон в среднем слабо отличается от дефектов.
Миниатюры
Выделение дефектных областей на изображении (opencv python)  
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
13.10.2020, 16:55
Цитата Сообщение от Dancing_god Посмотреть сообщение
Касательно knn - что это такое?
В гугле забанили чтоли? Это простейший алгоритм классификации, к нейронкам не имеет ни малейшего отношения. По-моему, даже в openCV реализация есть.
Цитата Сообщение от Dancing_god Посмотреть сообщение
И как классификация поможет именно выделить дефекты?
Легко и непринужденно. На тех картинках, что вы показали, контуры у дефектных семян сильно отличаются от хороших, по ним их и можно отловить.
0
15 / 2 / 1
Регистрация: 18.09.2015
Сообщений: 227
13.10.2020, 17:53  [ТС]
Цитата Сообщение от Катафалк Посмотреть сообщение
контуры у дефектных семян сильно отличаются от хороших, по ним их и можно отловить
Выделить надо сами дефекты, а не дефектные семена. Тем более дефекты не всегда находятся с краю семян и влияют на форму их контуров.
А за совет про knn - спасибо, посмотрю. Правда, как понимаю, этот алгоритм все равно требует обучающую выборку. Мне же нужен универсальный алгоритм, не привязанный к набору данных.
0
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
13.10.2020, 18:08
Цитата Сообщение от Dancing_god Посмотреть сообщение
Тем более дефекты не всегда находятся с краю семян и влияют на форму их контуров.
Ну так из вашего поста не понятно, что считается дефектом. Я вот увидел кривые края, потому и написал про них
Цитата Сообщение от Dancing_god Посмотреть сообщение
Правда, как понимаю, этот алгоритм все равно требует обучающую выборку. Мне же нужен универсальный алгоритм, не привязанный к набору данных.
Если вы знаете список всех возможных дефектов семян и хотя бы как они выглядят и чем отличаются от здорового семени, то с этого и надо было начинать. А если не знаете, то откуда вы его возьмете, не привязываясь к набору данных?
Определитесь сначала что такое дефект. Пока что выглядит, что вы хотите найти то не знаю что.
0
15 / 2 / 1
Регистрация: 18.09.2015
Сообщений: 227
13.10.2020, 18:31  [ТС]
Цитата Сообщение от Катафалк Посмотреть сообщение
Пока что выглядит, что вы хотите найти то не знаю что.
Окей, в качестве дефектов здесь ищутся области почернения на семенах, имеющие выраженную границу с остальной частью семени.
Что можете в случае поиска таких дефектов посоветовать?
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
14.10.2020, 19:18
Если рассматривать дефект как некий выброс (outlier) из обычных изображений, то вот попробуйте ознакомиться:
https://towardsdatascience.com... ea686bf7ba
1
15 / 2 / 1
Регистрация: 18.09.2015
Сообщений: 227
14.10.2020, 20:40  [ТС]
Цитата Сообщение от passant Посмотреть сообщение
то вот попробуйте ознакомиться:
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2020, 20:40
Помогаю со студенческими работами здесь

Поиском замкнутых областей на изображении
Привет всем. Есть много изображений вида https://www.cyberforum.ru/attachment.php?attachmentid=237167&stc=1&d=1361512297 Из него...

Обозначение центра и подсчет количества замкнутых областей в изображении
имеется изображение с большим количеством замкнутых областей, необходимо обозначить центр каждой области и найти их общее количество Буду...

с++ Opencv 2.4 Определение лица на изображении
установил opencv2.4 http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/ Определение лица на изображении. ...

Поиск изображения на изображении OpenCV ?
Требуется искать изображение на экране смартфона и кликать по нему. Для автокликера. Изображение ищется с указанной точностью совпадения....

OpenCV как определить элементы на изображении
Здравствуйте. Дано изображение на котором на чёрном фоне 4 светлых круга, расположены по диагонали. С помощью какой функции в OpenCV можно...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru