d
26 ноября 2018 г. 16:40

Убрать помехи бинарное изображение

c++, qt, image

Превращаю изображение в бинарное(черно-белое):

image = image.convertToFormat(QImage::Format_Mono);

Получается вот такое изображение, с помехами:

А необходимо, что получилось примерно вот такое:

Как убрать помехи, желательно без сторонних библиотек? (opencv и т.п.)






Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
3
  • 26 ноября 2018 г. 17:58

В матлабе есть следующие функции


rgb2gray - ну из названия понятно, смысл примерно следующий, для каждого пикселя ищем его ч/б интенсивнось

QRgb pix = MyFrame.pixel(X,Y)
R = ((double)((pix & 0x00ff0000) >> 16) * 0.2989);
G = ((double)((pix & 0x0000ff00) >> 8) * 0.5870);
B = ((double)(pix & 0x000000ff) * 0.114);
temp = (R + G + B);

там используются константы по интенсивности Rc=0.2989, Gc= 0.5870, Bc=0.114 вносимой при переводе RGB в Grayscale...

и еще одна функция - бинаризация изображения по уровню интенсивности im2bw (изобр, интенсивность), все что меньше черное, все что больше белое

делаем так же для каждого пикселя

if (temp >=value){
    binaryData[i][j] = 1;
}else {
    binaryData[i][j] = 0;
}
если есть другие готовые решения делитесь


d

А если изначально изображение в градациях серого?

Надо посмотреть что за формат пикселя в таком случае, но смысл не сильно изменится. Есть оригинальное изображение?

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

Если сайт помог вам, и вы хотите также поддержать развитие сайта, то вы можете сделать пожертвование следующими способами

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг Timeweb
МН
25 мая 2020 г. 11:33
Митя Нагибин

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
f
25 мая 2020 г. 5:05
falcon

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
jm
25 мая 2020 г. 3:30
just maks

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80баллов,
  • Очки рейтинга4
Последние комментарии
26 мая 2020 г. 6:51
Евгений Легоцкой

Qt/C++ - Урок 004. QSqlTableModel или Как представить таблицу из БД в Qt?

У вас база данных не открылась Исправьте путь к базе данных на свой корректный в следующих методах void DataBase::connectToDataBase() bool DataBase::openDataBase()
Т1
Т1
26 мая 2020 г. 6:22
Тима 1

Qt/C++ - Урок 004. QSqlTableModel или Как представить таблицу из БД в Qt?

полностью повторил структору проекта. В форму дабавил tableView. Но при запуске получаю форму только с пустым tableView. Можете подсказать в чем пробелма?
26 мая 2020 г. 6:02
Евгений Легоцкой

Qt/C++ - Урок 004. QSqlTableModel или Как представить таблицу из БД в Qt?

Потому что это файл который нужно создать, а не библиотека. В статье есть содержание этого файла. Добавляйте в проект. Копируйте содержимое из статьи.
Т1
26 мая 2020 г. 6:00
Тима 1

Qt/C++ - Урок 004. QSqlTableModel или Как представить таблицу из БД в Qt?

не удается подключиить библеотеку include "database.h" выдает ошибку. Можете помочь?
Сейчас обсуждают на форуме
26 мая 2020 г. 5:16
BlinCT

Отсутствие драйвера SQLite в пакете Qt 4 на Linux

Вот честно непонимаю почему до сих пор используют qt4, там же столько всего отсутствует, много фишек и возможностей нету там. То есть используя такое старье приходится много писать самому а не и…
ДК
26 мая 2020 г. 2:24
Джон Кофи

Disable autoscroll

такие естественные решения все перепробовал. Получилось вчера так: const int maximumScroll = ui->_samples->verticalScrollBar()->maximum();const int sliderPos = ui->_samp…
26 мая 2020 г. 0:43
Ruslan Polupan

Посоветуйте новичку (базы данных и Qt, что учить)

Без БД сейчас практически никуда. Поэтому SQL надо знать. SQLite самы простой вариант, но имхо лучще начать с бд клиент-сервер. Настроить сервер. Подключаться клиентом. Просто это помогает понят…
EJ
25 мая 2020 г. 14:42
Esteban José María

Компиляция пустого проекта Qt Android

qt 5.12.8 BUILD SUCCESSFUL in 42s 28 actionable tasks: 28 executed Android package built successfully in 68.251 ms. Ну, буду разбираться по-тихоньку. :)
s
25 мая 2020 г. 13:24
sander-007

Использование файлов в памяти (memory file mapping)

Добрый вечер, проблемы работы с файлом Exel нет вообще. Весь смысл в том чтобы не создавать на диске физический файл (требования безопасности), дабы потом не чистить. А так вопрос только в этом …
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB