Бинаризация изображения при неравномерном освещении

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

Моя цель — получить результат, при котором фон изображения будет отображаться белым, а капли на фоне — черным. Я использую следующий код для достижения этой цели:

RGB = imread('digital.jpg'); %% read image in the workspace
Image_gray=rgb2gray(RGB);
Image_gray = imadjust(Image_gray,stretchlim(Image_gray),[0 1]);
bw=imbinarize(Image_gray);
imshow(~Image_gray);

Результат, который я получаю, следующий:

Бинаризация изображения при неравномерном освещении

Любая идея о том, как изображение можно было бы более подходящим образом обработать, чтобы получить более однородный результат (т.е. капли должны быть черными независимо от их оттенка)?

У вас есть контроль над установкой и освещением?

Mark Setchell 01.02.2019 23:27

@MarkSetchell да, у меня есть, но это сложно, так как камера, снимающая изображение, которое необходимо преобразовать в бинарную форму, будет помещена на «робота». Теоретически я мог бы включить свет рядом с камерой, чтобы сделать изображение более однородным, но это сильно усложняет настройку.

Zed Kay 02.02.2019 13:37

Какова ваша точная цель? Мне удалось найти многие капли, используя mathworks.com/help/images/ref/imfindcircles.html.

Durkee 02.02.2019 14:05

@Durkee Итак, что я пытаюсь сделать, так это определить гидрофобность поверхности (в моем случае изолятора высокого напряжения). Есть много параметров, которые можно использовать для определения этого, например, процент площади, покрытой водой (больше воды означает меньшую гидрофобность). Для этого нам нужно, чтобы изображение было бинаризовано, и после этого оценка довольно проста. Но если капли не могут быть точно бинаризованы (например, вся капля представлена ​​черным цветом, а не только ее часть), результат не будет точным.

Zed Kay 02.02.2019 14:35

Я чувствую, что это можно было бы лучше проверить, если бы вы взвешивали поверхность до и после того, как на нее капнули водой. Потому что даже при этом вы не проверяете общее количество воды, вы проверяете площадь воды. В то время как вес покажет, сколько воды на самом деле находится на поверхности.

Durkee 02.02.2019 16:02

Из-за характера эксперимента это невозможно. Единственный возможный способ - оценить характеристики капель воды на поверхности. Другим параметром, который можно использовать, является оценка круглости капель. Это все еще не может быть достигнуто без точной бинаризации.

Zed Kay 02.02.2019 17:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
96
0

Другие вопросы по теме