Как идентифицировать пятна в зашумленном моноцветном изображении с помощью OpenCV и C++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как идентифицировать пятна в зашумленном моноцветном изображении с помощью OpenCV и C++?

Сообщение Anonymous »

У меня есть зашумленное изображение с несколькими яркими пятнами, которые мне нужно идентифицировать и проанализировать. Я пробовал использовать простые методы определения порога, но уровень шума слишком высок, и трудно точно изолировать пятна.
Вот пример моего изображения с пятнами, которые я хочу определить:
Изображение

Я использую OpenCV с C++ и буду признателен за рекомендации по наилучшему подходу к выявлению этих мест. В частности, мне нужна помощь в:
  • Предварительной обработке изображения для уменьшения шума и повышения видимости пятен.
  • Выявление и выделение ярких пятен.
  • Обрисуйте выявленные пятна.
Это то, что я пробовал до сих пор. :
#include

int main() {
cv::Mat image = cv::imread("image.png", cv::IMREAD_GRAYSCALE);
if (image.empty()) {
return -1;
}

// Thresholding to create a binary image
cv::Mat binaryImage;
cv::threshold(image, binaryImage, 200, 255, cv::THRESH_BINARY);

// Finding contours
std::vector contours;
cv::findContours(binaryImage, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);

// Drawing contours
cv::Mat outputImage = cv::Mat::zeros(image.size(), CV_8UC3);
for (size_t i = 0; i < contours.size(); i++) {
cv::drawContours(outputImage, contours, (int)i, cv::Scalar(0, 0, 255), 2);
}

cv::imwrite("output.png", outputImage);
return 0;
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... encv-and-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»