Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
26 ноября 2018 г. 22:40

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

c++, qt, image

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

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

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

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

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






3
  • 26 ноября 2018 г. 23: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;
}
если есть другие готовые решения делитесь


1

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

0

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

0

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
9 декабря 2018 г. 22:00
Yura Gajdar

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

  • Результат:70баллов,
  • Очки рейтинга1
9 декабря 2018 г. 2:33
anat_home@ukr.net

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

  • Результат:100баллов,
  • Очки рейтинга10
9 декабря 2018 г. 2:29
anat_home@ukr.net

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

  • Результат:60баллов,
  • Очки рейтинга-1
Последние комментарии
9 декабря 2018 г. 8:14
Евгений Легоцкой

Вы можете в QSettings записать откуда угодно bool переменную без всяких чекбоксов. def save_check_box_settings(self): settings = QSettings() settings.setValue(SETTINGS_TRAY,...
8 декабря 2018 г. 13:02
Жасулан Нургожинов

а как можно это сделать без чек бокса
5 декабря 2018 г. 13:25
Евгений Легоцкой

Значит всё-таки в переменных окружения была проблема. Полагаю, что Qt Creator берёт информацию сначала из переменных PATH, либо записывает её из  своего конфига, а потом берёт уже из PATH при ...
5 декабря 2018 г. 13:21
IscanderChe

В переменной PATH путь к CMake был указан как G:\soft\CMake\bin, в реальности же каталог называется Cmake. Причём после изменения в переменной PATH всё заработало, а в Qt Creator путь ос...
5 декабря 2018 г. 10:53
Евгений Легоцкой

Под linux как правило проще, там всё по свои каталогам и полочкам разложено сразу. Думается мне, что проблема все-таки где-то в путях переменных...
Сейчас обсуждают на форуме
9 декабря 2018 г. 18:55
Игорь Максимов

Доброго времени суток. Нашел приложение для конвертации видео + celery что очень радует. Не радует только то что оно отказывается работать под python3 Трейсбек прикладываю: File "/ho...
9 декабря 2018 г. 15:14
Евгений Легоцкой

Непонятно, вы драйвер скачали или собирали? Сдаётся мне, что возможно более правильный вариант собрать своим компилятором вначале его, а потом уже подключать.
8 декабря 2018 г. 18:30
Жасулан Нургожинов

может так будет понятнее# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'C:\Users\hallgato\PycharmProjects\workers.ui'## Created by: PyQt5 UI code generator 5.11...
8 декабря 2018 г. 10:51
Даниил Тетерин

Но если серьезно, то действительно помощь нужна. Мне по-хорошему нужно сдать это в понедельник
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы