Sadda.ru Ironetcart Андроид Ассемблер MASM32 Linux Все статьи Table of Contents


 

Вычисление площадей фигур
на компьютерных рисунках - это просто

  Макс Петров октябрь 2015

вычисление площадей фигур на компьютерных рисунках

      Получить сравнительные величины площадей любых фигур (даже самых кривоугольных) на компьютерном изображении нетрудно. Это можно сделать "подручными" средствами - используя распространенные и доступные всем программы.

      Формат .bmp хранит изображение без сжатия, в виде байтового массива. Точки (пиксели) изображения представлены там тремя байтами, отвечающими за цвета: красный, зеленый, синий. Если мы откроем картинку .bmp в каком-нибудь простом текстовом редакторе, то мы увидим бессвязный текст, в котором каждый символ - это байт изображения.

      В изображении .bmp, открытом в текстовом редакторе, пиксель белого цвета (красный байт = 255, зеленый байт = 255, синий байт = 255) будет выглядеть, как буква "я" (код символа "я" - это "255"), повторенная трижды: "яяя".

      Пиксель (точку изображения), в котором значения его составляющих цветов (красного, зеленого, синего) не совпадают, текстовый редактор отобразит, соответственно, тремя разными символами. Поэтому, удобнее при подсчете площадей использовать цвета, в которых красный, зеленый и синий байты равны. Таким "равнобайтовым" цветом является, наряду с белым, и серый цвет (разных степеней густоты).

      Итак, чтобы получить площадь фрагмента компьютерного изображения, следует перевести изображение в формат .bmp, закрасить интересующий фрагмент белым цветом. Далее открыть .bmp в подходящем текстовом редакторе и подсчитать число повторений буквы "я" в тексте. Из бесплатных редакторов, например, Notepad++ имеет опцию подсчета символов. Относительная площадь белого будет равна

      Площадь (в процентах) = ( число символов "я" / размер файла .bmp (в байтах) ) * 100

      Легко видеть, что число повторений символов "я" в файле .bmp представляет собой не что иное, как интеграл по площади всех фрагментов изображения, имеющих белый цвет.

      Для использованного в оформлении этой статьи рисунка: черное - 150 222 символов (байт); зеленое - 13 857 символов (байт); красное - 19 446 символов (байт); белое - 26 160 символов (байт); размер файла .bmp - 209 754 байт символов (байт). Таким образом, площади равны: черное - 71,6%; зеленое - 6,6%; красное - 9,3%; белое - 12,5%.



Sadda.ru: все статьи

      АlReader (скриншоты)
      API-функция CharToOem и строки ассемблера
      API-функция ReadConsoleInput
      API-функция PeekConsoleInput
      CoolReader (скриншоты)
      FBReader (скриншоты)
      Kingsoft Office (скриншоты)
      Lucid Puppy 5.2.5: испытание фаерфоксов
      VKDEBUG
      Быстрая сортировка
      Быстрый ремонт офисного стула при провале газлифта
      Внеклавиатурные символы HTML
      Воспоминание об Альгамбре на системном динамике
      Выбираем Линукс. Описания
      Выбираем Линукс. Таблица
      Выбор шрифта для таблицы Шульте
      Вычисление площадей фигур на компьютерных рисунках - это просто
      Деление (DIV, IDIV)
      Загрузчик Grab в Lucid Puppy 5.2.5
      Зачем тупому форуму поиск?
      Защита визуального html-редактора (фильтрация HTML на стороне сервера)
      Идеальная капча
      Инкремент и декремент
      Как бороться с воровством контента в Интернете
      Как залочить автозапуск CD в Windows XP
      Как заставить Firefox обновить favicon
      Как поставить CDlinux на винчестер
      Как я победил магические кавычки
      Коммандная строка
      Макросы ассемблера
      Консоль ввода-вывода
      Отзыв о бесплатных читалках .txt для Андроида
      Отрицательные числа
      Переменные и типы данных ассемблера
      Повторная установка Lucid Puppy 5.2.5 после падения
      Поисковая система и плагиат
      Прогресс-бар на PHP
      Простейшая программа на ассемблере (beeper)
      Пузырьковая сортировка. Эстафета шариков
      Разработка форумного движка
      Регистры процессора IA32
      Русская раскладка клавиатуры в Lucid Puppy 5.2.5
      Системы счисления, тэги ассемблера, перевод чисел
      Скорость движка форума: файлы или база данных
      Скрипт, выдающий самодельные капчи
      События консоли (таблица)
      Сортировка расческой
      Ставим Linux Lucid Puppy 5.2.5 на жесткий диск
      Статическая защита форм
      Таблицы Шульте (Shultzstables.exe)
      Фактор AdSense
      Форум «Железный Бураттин» (название и концепция)
      Форум на файлах «Ironetcart» (скачать)
      Хранимые XSS-атаки и защита от них (удаляем javascript из html в браузере)
      Uvoc: программа для запоминания английских слов

     


© Max Petrov При использовании материалов ссылка на sadda.ru обязательна