Представление текста, изображения и звука в компьютере (§ 6)
Планирование уроков на учебный год
Главная | Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 10 классы | Планирование уроков на учебный год | Представление текста, изображения и звука в компьютере (§ 6)
В этом параграфе обсудим способы компьютерного кодирования текстовой, графической и звуковой информации. С текстовой и графической информацией конструкторы «научили» работать ЭВМ, начиная с третьего поколения (1970-е годы). А работу со звуком «освоили» лишь машины четвертого поколения, современные персональные компьютеры. С этого момента началось распространение технологии мультимедиа.
Что принципиально нового появлялось в устройстве компьютеров с освоением ими новых видов информации? Главным образом, это периферийные устройства для ввода и вывода текстов, графики, видео, звука.
О том, как текст, графика и звук сводятся к целым числам, будет рассказано дальше. Предварительно отметим, что здесь мы снова встретимся с главной формулой информатики:
2i = N.
Смысл входящих в нее величин здесь следующий: i — разрядность ячейки памяти (в битах), N — количество различных целых положительных чисел, которые можно записать в эту ячейку.
Текстовая информация
Принципиально важно, что текстовая информация уже дискретна — состоит из отдельных знаков. Поэтому возникает лишь технический вопрос — как разместить ее в памяти компьютера.
Напомним о байтовом принципе организации памяти компьютеров, обсуждавшемся в курсе информатики основной школы. Вернемся к рис. 1.5. Каждая клеточка на нем обозначает бит памяти. Восемь подряд расположенных битов образуют байт памяти. Байты пронумерованы. Порядковый номер байта определяет его адрес в памяти компьютера. Именно по адресам процессор обращается к данным, читая или записывая их в память (рис. 1.10).
Модель представления текста в памяти весьма проста. За каждой буквой алфавита, цифрой, знаком препинания и иным общепринятым при записи текста символом закрепляется определенный двоичный код, длина которого фиксирована. В популярных системах кодировки (Windows-1251, KOI8 и др.) каждый символ заменяется на 8-разрядное целое положительное двоичное число; оно хранится в одном байте памяти. Это число является порядковым номером символа в кодовой таблице. Согласно главной формуле информатики, определяем, что размер алфавита, который можно закодировать, равен: 2
Поскольку в мире много языков и много алфавитов, постепенно совершается переход на международную систему кодировки Unicode, в которой используются многобайтовые коды. Например, если код символа занимает 2 байта, то с его помощью можно закодировать 216 = 65 536 различных символов.
При работе с электронной почтой почтовая программа иногда нас спрашивает, не хотим ли мы прибегнуть к кодировке Unicode для пересылаемых сообщений. Таким способом можно избежать проблемы несоответствия кодировок, из-за которой иногда не удается прочитать русский текст.
Текстовый документ, хранящийся в памяти компьютера, состоит не только из кодов символьного алфавита. В нем также содержатся коды, управляющие форматами текста при его отображении на мониторе или на печати: тип и размер шрифта, положение строк, поля и отступы и пр. Кроме того, текстовые процессоры (например, Microsoft Word) позволяют включать в документ и редактировать такие «нелинейные» объекты, как таблицы, оглавления, ссылки и гиперссылки, историю вносимых изменений и т. д. Всё это также представляется в виде последовательности байтовых кодов.
Графическая информация
Из курса информатики 7 — 9 классов вы знакомы с общими принципами компьютерной графики, с графическими технологиями. Здесь мы немного подробнее, чем это делалось раньше, рассмотрим способы представления графических изображений в памяти компьютера.
Принцип дискретности компьютерных данных справедлив и для графики. Здесь можно говорить о дискретном представлении изображения (рисунка, фотографии, видеокадров) и дискретности цвета.
Дискретное представление изображения
Изображение на экране монитора дискретно. Оно составляется из отдельных точек, которые называются пикселями (picture elements — элементы рисунка). Это связано с техническими особенностями устройства экрана, независимо от его физической реализации, будь то монитор на электронно-лучевой трубке, жидкокристаллический или плазменный. Эти «точки» столь близки друг другу, что глаз не различает промежутков между ними, поэтому изображение воспринимается как непрерывное, сплошное. Если выводимое из компьютера изображение формируется на бумаге (принтером или плоттером), то линии на нем также выглядят непрерывными. Однако в основе все равно лежит печать близких друг к другу точек.
В зависимости от того, на какое графическое разрешение экрана настроена операционная система компьютера, на экране могут размещаться изображения, имеющие размер 800 х 600, 1024 х 768 и более пикселей. Такая прямоугольная матрица пикселей на экране компьютера называется
Качество изображения зависит не только от размера растра, но и от размера экрана монитора, который обычно характеризуется длиной диагонали. Существует параметр разрешения экрана. Этот параметр измеряется в точках на дюйм (по-английски dots per inch — dpi). У монитора с диагональю 15 дюймов размер изображения на экране составляет примерно 28 х 21 см. Зная, что в одном дюйме 25,4 мм, можно рассчитать, что при работе монитора в режиме 800 х 600 пикселей разрешение экранного изображения равно 72 dpi.
При печати на бумаге разрешение должно быть намного выше. Полиграфическая печать полноцветного изображения требует разрешения 200-300 dpi. Стандартный фотоснимок размером 10 х 15 см должен содержать примерно 1000 х 1500 пикселей.
Дискретное представление цвета
Восстановим ваши знания о кодировании цвета, полученные из курса информатики основной школы. Основное правило звучит так: любой цвет точки на экране компьютера получается путем смешивания трех базовых цветов: красного, зеленого, синего. Этот принцип называется цветовой моделью RGB (Red, Green, Blue).
Двоичный код цвета определяет, в каком соотношении находятся интенсивности трех базовых цветов. Если все они смешиваются в одинаковых долях, то в итоге получается белый цвет. Если все три компоненты «выключены», то цвет пикселя — черный. Все остальные цвета лежат между белым и черным.
Дискретность цвета состоит в том, что интенсивности базовых цветов могут принимать конечное число дискретных значений.
Пусть, например, размер кода цвета пикселя равен 8 битам — 1 байту. Между базовыми цветами они могут быть распределены так:
2 бита — под красный цвет, 3 бита — под зеленый и 3 бита — под синий.
Интенсивность красного цвета может принимать 22 = 4 значения, интенсивности зеленого и синего цветов — по 23 = 8 значений. Полное число цветов, которые кодируются 8-разрядными кодами, равно: 4 — 8 — 8 = 256 = 2
Из описанного правила, в частности, следует:
Обобщение этих частных примеров приводит к следующему правилу. Если размер кода цвета равен b битов, то количество цветов (размер палитры) вычисляется по формуле:
К = 2b.
Величину b в компьютерной графике называют битовой глубиной цвета.
Еще один пример. Битовая глубина цвета равна 24. Размер палитры будет равен:
К = 224 = 16 777 216.
В компьютерной графике используются разные цветовые модели для изображения на экране, получаемого путем излучения света, и изображения на бумаге, формируемого с помощью отражения света. Первую модель мы уже рассмотрели — это модель RGB. Вторая модель носит название CMYK.
Цвет, который мы видим на листе бумаги, — это отражение белого (солнечного) света. Нанесенная на бумагу краска поглощает часть палитры, составляющей белый цвет, а другую часть отражает. Таким образом, нужный цвет на бумаге получают путем «вычитания» из белого света «ненужных красок». Поэтому в цветной полиграфии действует не правило сложения цветов (как на экране компьютера), а правило вычитания. Мы не будем углубляться в механизм такого способа цветообразования.
Расшифруем лишь аббревиатуру CMYK: Cyan — голубой, Magenta — пурпурный, Yellow — желтый, blасk — черный.
Растровая и векторная графика
О двух технологиях компьютерной графики — растровой и векторной — вы знаете из курса информатики основной школы.
В растровой графике графическая информация — это совокупность данных о цвете каждого пикселя на экране. Это то, о чем говорилось выше. В векторной графике графическая информация — это данные, математически описывающие графические примитивы, составляющие рисунок: прямые, дуги, прямоугольники, овалы и пр. Положение и форма графических примитивов представляются в системе экранных координат.
Растровую графику (редакторы растрового типа) применяют при разработке электронных (мультимедийных) и полиграфических изданий. Растровые иллюстрации редко создают вручную с помощью компьютерных программ. Чаще для этой цели используют сканированные иллюстрации, подготовленные художником на бумаге, или фотографии. Для ввода растровых изображений в компьютер применяются цифровые фото- и видеокамеры. Большинство графических редакторов растрового типа в большей мере ориентированы не на создание изображений, а на их обработку.
Достоинство растровой графики — эффективное представление изображений фотографического качества. Основной недостаток растрового способа представления изображения — большой объем занимаемой памяти. Для его сокращения приходится применять различные способы сжатия данных. Другой недостаток растровых изображений связан с искажением изображения при его масштабировании. Поскольку изображение состоит из фиксированного числа точек, увеличение изображения приводит к тому, что эти точки становятся крупнее. Увеличение размера точек растра визуально искажает иллюстрацию и делает ее грубой.
Векторные графические редакторы предназначены в первую очередь для создания иллюстраций и в меньшей степени для их обработки.
Достоинства векторной графики — сравнительно небольшой объем памяти, занимаемой векторными файлами, масштабирование изображения без потери качества. Однако средствами векторной графики проблематично получить высококачественное художественное изображение. Обычно средства векторной графики используют не для создания художественных композиций, а для оформительских, чертежных и проектно-конструкторских работ.
Графическая информация сохраняется в файлах на диске. Существуют разнообразные форматы графических файлов. Они делятся на растровые и векторные. Растровые графические файлы (форматы JPEG, BMP, TIFF и другие) хранят информацию о цвете каждого пикселя изображения на экране. В графических файлах векторного формата (например, WMF, CGM) содержатся описания графических примитивов, составляющих рисунок.
Следует понимать, что графические данные, помещаемые в видеопамять и выводимые на экран, имеют растровый формат вне зависимости от того, с помощью каких программных средств (растровых или векторных) они получены.
Звуковая информация
Принципы дискретизации звука («оцифровки» звука) отражены на рис. 1.11.
Ввод звука в компьютер производится с помощью звукового устройства (микрофона, радио и др.), выход которого подключается к порту звуковой карты. Задача звуковой карты — с определенной частотой производить измерения уровня звукового сигнала (преобразованного в электрические колебания) и результаты измерения записывать в память компьютера. Этот процесс называют оцифровкой звука.
Промежуток времени между двумя измерениями называется периодом измерений — τ с. Обратная величина называется частотой дискретизации — 1/τ (герц). Чем выше частота измерений, тем выше качество цифрового звука.
Результаты таких измерений представляются целыми положительными числами с конечным количеством разрядов. Вы уже знаете, что в таком случае получается дискретное конечное множество значений в ограниченном диапазоне. Размер этого диапазона зависит от разрядности ячейки — регистра памяти звуковой карты. Снова работает формула 2i, где i — разрядность регистра. Число i называют также разрядностью дискретизации. Записанные данные сохраняются в файлах специальных звуковых форматов.
Существуют программы обработки звука — редакторы звука, позволяющие создавать различные музыкальные эффекты, очищать звук от шумов, согласовывать с изображениями для создания мультимедийных продуктов и т. д. С помощью специальных устройств, генерирующих звук, звуковые файлы могут преобразовываться в звуковые волны, воспринимаемые слухом человека.
При хранении оцифрованного звука приходится решать проблему уменьшения объема звуковых файлов. Для этого кроме кодирования данных без потерь, позволяющего осуществлять стопроцентное восстановление данных из сжатого потока, используется кодирование данных с потерями. Цель такого кодирования — добиться схожести звучания восстановленного сигнала с оригиналом при максимальном сжатии данных. Это достигается путем использования различных алгоритмов, сжимающих оригинальный сигнал путем выкидывания из него слабослышимых элементов. Методов сжатия, а также программ, реализующих эти методы, существует много.
Для сохранения звука без потерь используется универсальный звуковой формат файлов WAV. Наиболее известный формат «сжатого» звука (с потерями) — MP3. Он обеспечивает сжатие данных в 10 раз и более.
Вопросы и задания
1. Когда компьютеры начали работать с текстом, с графикой, со звуком?
2. Что такое таблица кодировки? Какие существуют таблицы кодировки?
3. На чем основывается дискретное представление изображения?
4. Что такое модель цвета RGB?
5. Напишите 8-разрядный код ярко-синего цвета, ярко-желтого (смесь красного с зеленым), бледно-желтого.
6. Почему в полиграфии не используется модель RGB?
7. Что такое CMYK?
8. Какое устройство в компьютере производит оцифровку вводимого звукового сигнала?
9. Как (качественно) качество цифрового звука зависит от частоты дискретизации и разрядности дискретизации?
10. Чем удобен формат MP3?
Практическая работа № 1.4 «Представление текстов. Сжатие текстов»
Цель работы: практическое закрепление знаний о представлении в компьютере текстовых данных.
Задание 1
Определить, какие символы кодируются таблицей ASCII (DOS) соответствуют всем прописным буквам русского алфавита в кодировочной таблице ANSI (Windows). Для выполнения задания создать текст с русским алфавитом в Блокноте, а затем открыть его в режиме просмотра (клавиша F3) в любом файловом менеджере (Windows Commander, Far, Total Commander, Norton Commander) и преобразовать в другую кодировку. После выполнения задания заполнить таблицу.
Задание 2
Закодировать текст Happy Birthday to you!! с помощью кодировочной таблицы ASCII
Записать двоичное и шестнадцатеричное представление кода (для записи шестнадцатеричного кода использовать средство для просмотра файлов любого файлового менеджера).
Задание 3
Декодировать текст, записанный в международной кодировочной таблице ASCII (дано десятичное представление).
72 101 108 108 111 44 32 109 121 32 102 114 105 101 110 100 33
Задание 4
Пользуясь таблицей кодировки ASCII, расшифровать текст, представленный в виде двоичных кодов символов.
01010000 01100101 01110010 01101101 00100000 01010101
01101110 01101001 01110110 01100101 01110010 01110011
01101001 01110100 01111001
Задание 5
Пользуясь кодовой страницей Windows-1251 таблицы кодировки ASCII, получить шестнадцатеричный код слова ИНФОРМАТИЗАЦИЯ.
Задание 6
Во сколько раз увеличится объём памяти, необходимый для хранения текста, если его преобразовать из кодировки KOI8-R в кодировку Unicode?
Задание 7
С помощью табличного процессора Excel построить кодировочную таблицу ASCII, в которой символы буду автоматически отображаться на экране в соответствии с их заданным десятичным номером (использовать соответствующую текстовую функцию).
Справочная информация
Алгоритм Хаффмена. Сжатием информации в памяти компьютера называют такое её преобразование, которое ведёт к сокращению объёма ханимаемой памяти при сохранении закодированного содержания. Рассмотрим один из способов сжатия текстовой информации — алгоритм Хаффмена. С помощью этого алгоритма строится двоичное дерево, которое позволяет однозначно декодировать двоичный код, состоящий из символьный кодов различной длины. Двоичным называется дерево, из каждой вершины которого выходят две ветви. На рисунке приведён пример такого дерева, построенный для алфавита английского языка с учётом частоты встречаемости его букв.
Закодируем с помощью данного дерева слово «hello»:
0101 100 01111 01111 1110
При размещении этого кода в памяти побитово он примет вид:
010110001111011111110
Таким образом, текст, занимающий в кодировки ASCII 5 байтов, в кодировке Хаффмена займет 3 байта.
Задание 8
Используя метод сжатия Хаффмена, закодируйте следующие слова:
а) administrator
б) revolution
в) economy
г) department
Задание 9
Используя дерево Хаффмена, декодируйте следующие слова:
а) 01110011 11001001 10010110 10010111 100000
б) 00010110 01010110 10011001 01101101 01000100 000
Практическая работа № 1.5 «Представление изображения и звука»
Цель работы: практическое закрепление знаний о представлении в компьютере графических данных и звука.
Справочная информация
В некоторых заданиях используется модельный (учебный) вариант монитора с размером растра 10×10 пикселей.
При векторном подходе изображение рассматривается как совокупность простых элементов: прямых линий, дуг, окружностей, эллипсов,
прямоугольников, закрасок и пр., которые называются графическими примитивами. Графическая информация — это данные, однозначно
определяющие все графические примитивы, составляющие рисунок.
Положение и форма графических примитивов задаются в системе графических координату связанных с экраном. Обычно начало координат
расположено в верхнем левом углу экрана. Сетка пикселей совпадает с координатной сеткой. Горизонтальная ось X направлена слева направо; вертикальная ось У — сверху вниз.
Отрезок прямой линии однозначно определяется указанием координат его концов; окружность — координатами центра и радиусом; многоугольник — координатами его углов, закрашенная область — граничной линией и цветом закраски и пр.
Учебная система векторных команд представлена в таблице.
Например, требуется написать последовательность получения изображения буквы К:
Изображение буквы «К» на рисунке описывается тремя векторными командами:
Линия(4, 2, 4, 8)
Линия(5, 5, 8, 2)
Линия(5, 5, 8, 8)
Задание 1
Построить двоичный код приведенного черно-белого растрового изображения, полученного на мониторе с размером растра 10×10.
Задание 2
Определить, какой объем памяти требуется для хранения 1 бита изображения на вашем компьютере (для этого нужно через Свойства экрана определить битовую глубину цвета).
Задание 3
Битовая глубина цвета равна 24. Сколько различных оттенков серого цвета может быть отображено на экране (серый цвет получается, если уровни яркости всех трех базовых цветов одинаковы)?
Задание 4
Дан двоичный код 8-цветного изображения. Размер монитора — 10×10 пикселей. Что изображено на рисунке (зарисовать)?
001 111 111 111 010 010 111 111 111 001
111 111 111 011 011 011 011 111 111 111
111 111 011 111 111 111 111 011 111 111
111 011 111 111 111 111 111 111 011 111
110 011 111 111 110 110 111 111 011 110
110 011 111 111 110 110 111 111 011 110
111 011 111 111 111 111 111 111 011 111
111 111 011 111 111 111 111 011 111 111
111 111 111 011 011 011 011 111 111 111
001 111 111 111 010 010 111 111 111 001
Задание 5
Описать с помощью векторных команд следующие рисунки (цвет заливки произвольный).
Задание 6
Получить растровое и векторное представления всех цифр от 0 до 9.
Задание 7
По приведенному ниже набору векторных команд определить, что изображено на рисунке (зарисовать).
Цвет рисования Голубой
Прямоугольник 12, 2, 18, 8
Прямоугольник 10, 1, 20, 21
Прямоугольник 20, 6, 50, 21
Цвет рисования Желтый
Цвет закраски Зеленый
Окружность 20, 24, 3
Окружность 40, 24, 3
Закрасить 20, 24, Желтый
Закрасить 40, 24, Желтый
Цвет закраски Голубой
Закрасить 30, 10, Голубой
Закрасить 15, 15, Голубой
Цвет закраски Розовый
Закрасить 16, 6, Голубой
Задание 8
Определить, какой объем имеет 1 страница видеопамяти на вашем компьютере (узнать для этого, какое у компьютера разрешение и битовая глубина цвета). Ответ записать в мегабайтах.
Задание 9
Нарисовать в редакторе Paint изображение солнца, сохранить его в формате BMP, а затем с помощью Photoshop преобразовать его в форматы JPEG (с наивысшим качеством), JPEG (с наименьшим качеством), GIF, TIFF.
Сравнить эффективность сжатия каждого формата, заполнив таблицу.
Задание 10
Битовая глубина цвета равна 32. Видеопамять делится на две страницы. Разрешающая способность дисплея 800×600. Вычислить объем видеопамяти.
Задание 11
На компьютере установлена видеокарта объемом 2 Мбайт. Какое максимально возможное количество цветов теоретически допустимо в палитре при работе с монитором, имеющим разрешение 1280×1024?
Задание 12
Какой объем видеопамяти в килобайтах нужен для хранения изображения размером 600×350 пикселей, использующего 8-цветную палитру?
Задание 13
Зеленый цвет на компьютере с объемом страницы видеопамяти 125 Кбайт кодируется кодом 0010. Какова может быть разрешающая способность монитора?
Задание 14
Монитор работает с 16-цветной палитрой в режиме 640×400 пикселей. Для кодирования изображения требуется 1250 Кбайт. Сколько страниц видеопамяти оно занимает?
Задание 15
Сколько цветов можно максимально использовать для хранения изображения размером 350×200 пикселей, если объем страницы видеопамяти — 65 Кбайт?
Задание 16
Определить объем памяти для хранения цифрового аудиофайла, время звучания которого 5 минут при частоте дискретизации 44,1 КГц и глубине кодирования 16 битов.
Задание 17
Записать с помощью стандартного приложения «Звукозапись» звук длительностью 1 минута с частотой дискретизации 22,050 КГц и глубиной кодирования 8 битов (моно), а затем тот же самый звук с частотой дискретизации 44,1 КГц и глубиной кодирования 16 битов (моно). Сравнить объемы полученных файлов.
Задание 18
Одна минута записи цифрового аудиофайла занимает на диске 1,3 Мбайт, разрядность звуковой платы — 8. С какой частотой дискретизации записан звук?
Задание 19
Две минуты записи цифрового аудиофайла занимают на диске 5,1 Мбайт. Частота дискретизации — 22 050 Гц. Какова разрядность аудиоадаптера?
Задание 20
Объем свободной памяти на диске — 0,01 Гбайт, разрядность звуковой платы — 16. Какова будет длительность звучания цифрового аудиофайла, если его записать с частотой дискретизации 44 100 Гц?
Лабораторная работа №3 Измерение информации — Мегаобучалка
Цель работы: закрепление знаний о различных подходах к измерению информации.
Задание 1 Решите следующие задачи: 1. В корзине лежат 16 шаров. Все шары разного цвета и среди них есть красный. Сколько информации несет сообщение о том, что из корзины достали красный шар? 2. В корзине лежат 8 черных и 8 белых шаров. Сколько информации несет сообщение о том, что из корзины достали белый шар? 3. В корзине лежат 16 шаров. Среди них 4 белых, 4 черных, 4 красных и 4 зеленых. Сколько информации несет сообщение о том, что из корзины достали красный шар? 4. При угадывании целого числа в диапазоне от 1 до N было получено 7 бит информации. Чему равно N? 5. Какое количество информации содержит один символ алфавита, состоящего из 1024 символов? 6. Сколько бит несет слово «ИНФОРМАЦИЯ»? 7. В алфавите некоторого языка две буквы «А» и «Б». Все слова на этом языке состоят из 11 букв. Каков словарный запас этого языка, т.е. сколько слов он содержит? 8. Информационное сообщение объемом 1,5 килобайта содержит 3072 символа. Сколько символов содержит алфавит, при помощи которого было записано это сообщение? 9. Алфавит первого племени содержит N символов, алфавит второго – в два раза больше. Племена обменялись приветствиями, каждое по 100 символов. Приветствие какого племени содержит больше информации (в битах) и на сколько? 10. В процессе преобразования растрового графического файла количество всех возможных цветов было уменьшено с 1024 до 32. Как и во сколько раз изменился размер файла? Задание 2 Решите следующие задачи: 1. В ящике лежат 36 красных и несколько зеленых яблок. Сообщение «Из ящика достали зеленое яблоко» несет 2 бита информации. Сколько яблок в ящике? 2. В концертном зале 270 девушек и несколько юношей. Сообщение «Первым из зала выйдет юноша» содержит 4 бита информации. Сколько юношей в зале. 3. На остановке останавливаются автобусы с разными номерами. Сообщение о том, что к остановке подошел Автобус с номером N1 несет 4 бита информации. Вероятность появления на остановке автобуса с номером N2 в два раза меньше, чем вероятность появления автобуса с номером N1. Сколько информации несет сообщение о появлении на остановке автобуса с номером N2? 4.Известно, что в ящике лежат 20 шаров. Из них 10 — черных, 4 — белых, 4 — желтых и 2 — красных. Какое количество информации несѐт сообщения о цвете вынутого шара? |
Лабораторная работа №4 Представление чисел
Цель работы. Закрепление знаний о системах счисления и о представлении чисел в памяти компьютера, полученных при изучении курса информатики.
Задание 1
Ответьте письменно на вопросы:
1.Какое множество понятий однозначно определяет позиционную систему счисления:
1) {базис, алфавит, основание};
2) {базис, алфавит};
3) {базис}?
2. Какая последовательность чисел может быть использована в качестве базиса позиционной системы счисления?
3. Какие символы могут быть использованы в качестве цифр системы счисления?
Задание 2
Решите задачи:
1. Запишите десятичные представления чисел:
а) 1011001112; 4. 11001,0112;
б) 1AC9F16; 5.ED4A,C116;
в) 17458; 6.147,258.
2.Переведите числа в десятичную систему, а затем проверьте результаты, выполнив обратные переводы:
|
3.Сложите числа:
а) 10111012 и 11101112; | д) 378 и 758; | и) A16 и F16; |
4.Вычтите числа:
а) 1112 из 101002; | д) 158 из 208; | и) 1А16 из 3116 |
5. Перемножьте числа:
а) 1011012 и 1012; | д) 378 и 48; |
Задание 3
6. Представьте числа в двоичном виде в восьмибитовой ячейке в формате целого со знаком:
а) 56 б) -56 в) 127 г) -127.
7. Представьте вещественные числа в четырехбайтовой ячейке памяти в формате с плавающей точкой:
а) 0,5 б) 25,12 в) – 25,12
Лабораторная работа №5. Представление текста. Сжатие текста.
Цель работы. Практическое закрепление знаний о представлении в компьютере текстовых данных.
Задание 1
Определить, какие символы кодировочной таблицы ASCII (DOS) соответствуют всем прописным буквам русского алфавита в кодировочной таблице ANSI (Windows). Для выполнения задания создать текст с русским алфавитом в Блокноте, а затем открыть его в режиме просмотра (клавиша F3) в любом файловом менеджере (Windows Commander, Far, Total Commander, Norton Commander) и преобразовать в другую кодировку. После выполнения задания заполнить таблицу.
Буква в ANSI | Буква в ASCII | Буквав ANSI | Буква вASCII | Буква в ANSI | Буква в ASCII |
А | К | X | |||
Б | Л | Ц | |||
В | М | Ч | |||
Г | Н | III | |||
Д | О | Щ | |||
Е | П | Ъ | |||
Ё | Р | Ы | |||
ЭК | С | Ь | |||
Т | Э | ||||
И | У | Ю | |||
Й | Ф | Я |
Задание 2
Закодировать текст с помощью кодировочной таблицы ASCII «Happy Birthday to you!»
Записать двоичное и шестнадцатеричное представления кода (для записи шестнадцатеричного кода использовать средство для просмотра файлов любого файлового менеджера).
Задание 3
Декодировать текст, записанный в международной кодировочной таблице ASCII (дано десятичное представление).
71 101 108 108 111 44 32 109 121 32 102 114 105 101 110 100 33
Задание 4
Пользуясь таблицей кодировки ASCII, расшифровать текст, представленный в виде двоичных кодов символов.
01010000 01100101 01110010 01101101 001О0000 01010101 01101110 01101001 01110110 01100101 01110010 01110011 01101001 01110100 01111001
Задание 5
Пользуясь кодовой страницей Windows-1251 таблицы кодировки ASCII, получить шестнадцатеричный код слова ИНФОРМАТИЗАЦИЯ.
Задание 6
Во сколько раз увеличится объем памяти, необходимый для хранения текста, если его преобразовать из кодировки KOI8-R в кодировку Unicode?
Лабораторная работа №6 Представление изображения и звука
Цель работы.Практическое закрепление знаний о представлении в компьютере графических данных и звука.
Справочная информация
В некоторых заданиях используется модельный (учебный) вариант монитора с размером растра 10×10 пикселей. При векторном подходе изображение рассматривается как совокупность простых элементов: прямых линий, дуг, окружностей, эллипсов, прямоугольников, закрасок и пр., которые называются графическими примитивами. Графическая информация — это данные, однозначно определяющие все графические примитивы, составляющие рисунок. Положение и форма графических примитивов задаются в системе графических координат, связанных с экраном. Обычно начало координат расположено в верхнем левом углу экрана. Сетка пикселей совпадает с координатной сеткой. Горизонтальная ось X направлена слева направо; вертикальная ось Y — сверху вниз.
Отрезок прямой линии однозначно определяется указанием координат его концов; окружность — координатами центра и радиусом; многоугольник — координатами его углов, закрашенная область — граничной линией и цветом закраски и пр.
Учебная система векторных команд представлена в таблице.
Установить X, У | Установить текущую позицию (X, У) |
Линия к XI, У1 | Нарисовать линию от текущей позиции в позицию (XI, У1), позиция (XI, У1) становится текущей |
ЛинияXI, У1,Х2, У2 | Нарисовать линию с координатами начала XI, У1 и координатами конца Х2, У2. Текущая позиция не устанавливается |
Окружность X, У, R | Нарисовать окружность; X, У — координаты центра, ft — длина радиуса в пикселях |
ЭллипсХ1,У1,Х2,У2 | Нарисовать эллипс, ограниченный прямоугольником; (XI, У1) — координаты левого верхнего, а (Х2, У2) — правого нижнего угла этого прямоугольника |
Прямоугольник XI,У1,Х2,У2 | Нарисовать прямоугольник; (XI, У1) — координаты левого верхнего угла, а (Х2, У2) — правого нижнего угла этого прямоугольника |
Цвет_рисования ЦВЕТ | Установить текущий цвет рисования |
Цвет_закраски ЦВЕТ | Установить текущий цвет закраски |
Закрасить X, У, ЦВЕТ ГРАНИЦЫ | Закрасить произвольную замкнутую фигуру; X, У — координаты любой точки внутри замкнутой фигуры, ЦВЕТ ГРАНИЦЫ — цвет граничной линии |
Например, требуется написатьпоследовательность получения изображения буквы К:
Изображение буквы «К» на рисунке описывается тремя векторными командами:
Линия(4, 2, 4, 8)
Линия(5, 5, 8, 2)
Линия(5, 5, 8, 8)
Задание 1
Построить двоичный код приведенного черно-белого растрового изображения, полученного на мониторе размером растра 10×10.
Задание 2
Определить, какой объем памяти потребуется для хранения 1 бита изображения на вашем компьютере (для этого нужно через Свойства экрана определить битовую глубину цвета).
Задание 3
Битовая глубина цвета равна 24. Сколько различных оттенков цвета может быть отображено на экране (серый цвет получается,’ уровни яркости всех трех базовых цветов одинаковы)?
Задание 4
Дан двоичный код 8-цветного изображения. Размер монитора — 1 пикселей. Что изображено на рисунке (зарисовать)?
001 111 111 111 111 111 111011 110011 110011 111011
111111 111111
001 111
111 111
111011 011111
111111 111111
111111 111 111
011 111 111011
010 010 111 011011011
111 111 111 111 111 111
110 110 111 110110 111
111111111 111111111
011011011 010 010 111
111 111001
011 111 111 111011 111 111011 110 111011 110 111011 111 011 111 111
111 111001
Задание 5
Описать с помощью векторных команд следующие рисунки (цвет заливки произвольный).
Задание 6
Получить растровое и векторное представления всех цифр от 0 до 9.
Задание 7
По приведенному ниже набору векторных команд определить, что изображено на рисунке (зарисовать).
Цвет рисования Голубой
Прямоугольник 12, 2, 18, 8
Прямоугольник 10, 1, 20, 21
Прямоугольник 20, 6, SO, 21
Цвет рисования Желтый
Цвет закраски Зеленый Окружность 20, 24, 3
Окружность 40, 24, 3
Закрасить 20, 24, Желтый
Закрасить 40, 24, Желтый
Цвет закраски Голубой
Закрасить 30, 10, Голубой
Закрасить 15, 15, Голубой
Цвет закраски Розовый
Закрасить 16, 6, Голубой
Задание 8
Определить, какой объем имеет 1 страница видеопамяти на вашем компьютере (узнать для этого, какое у компьютера разрешение и битовая глубина цвета). Ответ записать в мегабайтах.
Задание 9
Нарисовать в редакторе Paintизображение солнца, сохранить его в формате BMP, а затем преобразовать его в форматы JPEG (с наивысшим качеством), JPBG(с наименьшим качеством), GIF, TIFF. Сравнить эффективность сжатия каждого формата, заполнив таблицу.
Формат | Размер файла | Коэффициент сжатия (по сравнению с BMP) |
JPEG (высшее качество) | ||
JPEG (низкое качество) | ||
GIF | ||
TIFF |
Задание 10
Битовая глубина цвета равна 32. Видеопамять делится на две страницы. Разрешающая способность дисплея 800×600. Вычислить объем видеопамяти.
Задание 11
На компьютере установлена видеокарта объемом 2 Мбайт. Какое максимально возможное количество цветов теоретически допустимо в палитре при работе с монитором, имеющим разрешение 1280×1024?
Задание 12
Какой объем видеопамяти в килобайтах нужен для хранения изображения размером 600×350 пикселей, использующего 8-цветную палитру?
Задание 13
Зеленый цвет на компьютере с объемом страницы видеопамяти 125 Кбайт кодируется кодом 0010. Какова может быть разрешающая способность монитора?
Задание 14
Монитор работает с 16-цветной палитрой в режиме 640×400 пикселей. Для кодирования изображения требуется 1250 Кбайт. Сколько страниц видеопамяти оно занимает?
Задание 15
Сколько цветов можно максимально использовать для хранения изображения размером 350×200 пикселей, если объем страницы видеопамяти — 65 Кбайт?
Задание 16
Определить объем памяти для хранения цифрового аудиофайла, время звучания которого 5 минут при частоте дискретизации 44,1 КГц и глубине кодирования 16 битов.
Задание 17
Записать с помощью стандартного приложения «Звукозапись» звук длительностью 1 минута с частотой дискретизации 22,050 КГци глубиной кодирования 8 битов (моно), а затем тот же самый звук с частотой дискретизации 44,1 КГц и глубиной кодирования 16 битов (моно). Сравнить объемы полученных файлов.
Задание 18
Одна минута записи цифрового аудиофайла занимает на диске 1,3 Мбайт, разрядность звуковой платы — 8. С какой частотой дискретизации записан звук?
Задание 19
Две минуты записи цифрового аудиофайла занимают на диске 5,1 Мбайт. Частота дискретизации — 22 050 Гц. Какова разрядность аудиоадаптера?
python — черно-белое изображение Pillow из двоичных значений
UPDATE
Благодаря комментарию @MarkSetchell, указывающему на https://stackoverflow.com/a/64682849/2836621, я использовал палитру, чтобы сообщить Pillow напрямую воспринимайте 0 как черный, а 1 как белый.
Вот код:
def create_images_palette(): палитра = [ 0, 0, 0, 255 255 255] палитра = палитра + [0]*(768-len(палитра)) изображения = [] с открытым (имя файла, 'rb') как файл: для данных в iter(partial(ifile.read, w*h), b''): img = Image.frombuffer('L', (h,w), данные) img.putpalette (палитра) imgs.append(img) вернуть изображения
Результаты по сравнению с победителями из приведенных ниже тестов, но на этот раз я использовал w=1024, h=1024, N=1000 (более реалистично для моего использования):
create_images3 0,42854620320013054 create_images6 0,32936501539988966 create_images7 0,31196588300008443 create_images_palette 0. 21011565389999304
Итак, палитры побеждают.
С помощью ответов я протестировал ряд решений, в которых я могу изменить свои данные, заменив 1 на 255. Вот результаты этих испытаний.
Я приму ответ на этот вопрос, который, согласно вопросу, говорит Pillow напрямую рассматривать 1 как белые, а 0 как черные. В противном случае некоторые из этих решений работают и работают хорошо для моих нужд.
Обратите внимание, что в моем реальном приложении я могу иметь данные для множества изображений подряд в одном двоичном файле. Эти решения отражают это.
импортировать numpy как np импорт ОС частичный импорт из functools из импорта PIL Image, ImageOps w = 128 # изображение могло бы быть намного больше, оставив его маленьким для примера ч = 128 N = 100 имя файла = 'byte_imgs.dat' данные = np.random.randint(2, size=w*h*N, dtype=np.uint8).tobytes() f = открыть (имя файла, 'wb') f.запись (данные) е.закрыть() print("данные изображения записываются в файл") определение create_images1(): изображения = [] с открытым (имя файла, 'rb') как файл: для данных в iter(partial(ifile. read, w*h), b''): img = Image.frombuffer('L', (h,w), данные) img = ImageOps.autocontrast(img) imgs.append(img) вернуть изображения защита create_images2(): изображения = [] с открытым (имя файла, 'rb') как файл: для данных в iter(partial(ifile.read, w*h), b''): данные = байты ([0, если b==0, иначе 255 для b в данных]) img = Image.frombuffer('L', (h,w), данные) imgs.append(img) вернуть изображения защита create_images3(): изображения = [] с открытым (имя файла, 'rb') как файл: для данных в iter(partial(ifile.read, w*h), b''): mem = memoryview(data).cast('B', shape=[w,h]) обр = np.asarray (память) img = Изображение.из массива (обр*255) imgs.append(img) вернуть изображения защита create_images4(): данные = массив байтов (ш * ч) изображения = [] с открытым (имя файла, "rb") как f: байт = f.read(1) в то время как байт != b'': для я в диапазоне (ш * ч): data[i] = int. from_bytes(байт, "большой") * 0xFF байт = f.read(1) img = Image.frombuffer('L', (h,w), байты (данные)) imgs.append(img) вернуть изображения защита create_images5(): изображения = [] с открытым (имя файла, "rb") как f: я = 0 данные = массив байтов () байт = f.read(1) в то время как байт != b'': если байт != b'\x00': data.append(0xff) еще: data.append(0x00) байт = f.read(1) я+=1 если я == ш*ч: img = Image.frombuffer('L', (h,w), байты (данные)) imgs.append(img) я=0 данные = массив байтов () вернуть изображения определение create_images6(): изображения = [] с открытым (имя файла, 'rb') как файл: пока верно: arr = np.fromfile(ifile, dtype=np.uint8, count=w*h) если обр.размерfromarray(arr.reshape(w,h)*255) imgs.append(img) вернуть изображения защита create_images7(): изображения = [] с открытым (имя файла, 'rb') как файл: для данных в iter(partial(ifile.read, w*h), b''): arr = np.frombuffer(dat, dtype=np.uint8).reshape((w,h)) img = Изображение.из массива (обр*255) imgs.append(img) вернуть изображения защита create_images8(): изображения = [] данные = np.fromfile (имя файла, dtype = np.int8) n = int (data.size / (ш * ч)) для я в диапазоне (n): смещение = я*ш*ч состояние = np.reshape (данные [смещение: смещение + w * h], (w, h)) img = Изображение.из массива (состояние * 255) imgs.append(img) вернуть изображения защита create_images9(): os.system(r"bbe -e 's/\x01/\xff/g' byte_imgs.dat > byte_imgs_new.dat") изображения = [] с open('byte_imgs_new.dat', 'rb') в качестве файла: для данных в iter(partial(ifile.read, w*h), b''): img = Image. frombuffer('L', (h,w), данные) imgs.append(img) вернуть изображения импортировать время число = 10 print("create_images1", timeit.timeit('[func() for func in (create_images1,)]', number=number, globals=globals()) / number) print("create_images2", timeit.timeit('[func() for func in (create_images2,)]', number=number, globals=globals()) / number) print("create_images3", timeit.timeit('[func() for func in (create_images3,)]', number=number, globals=globals()) / number) print("create_images4", timeit.timeit('[func() for func in (create_images4,)]', number=number, globals=globals()) / number) print("create_images5", timeit.timeit('[func() for func in (create_images5,)]', number=number, globals=globals()) / number) print("create_images6", timeit.timeit('[func() for func in (create_images6,)]', number=number, globals=globals()) / number) print("create_images7", timeit.timeit('[func() for func in (create_images7,)]', number=number, globals=globals()) / number) print("create_images8", timeit. timeit('[func() for func in (create_images8,)]', number=number, globals=globals()) / number) print("создать_изображения9", timeit.timeit('[func() for func in (create_images9,)]', number=number, globals=globals()) / number)
РЕЗУЛЬТАТЫ
среднее время выполнения каждой функции в секундах. create_images3()
и create_images7()
— явные победители в этом тесте.
create_images1 0,012226119600018136 create_images2 0,09197459420001905 create_images3 0,0021811368000271615 create_images4 0.30249598119999066 create_images5 0,3393335546000344 create_images6 0,0033311289999801374 create_images7 0,0021913534999839614 create_images8 0,015457254699958867 create_images9 0,044248268000046664
Двоичное представление изображений — teachwithict
8-битное задание. Двоичное представление изображений
На этом уроке учащиеся узнают, как компьютер представляет изображение в двоичном виде.
Рекомендуемое время: 100 минут
Цели обучения:
- Объяснить представление изображения в виде последовательности пикселей, представленных в двоичном формате
- Объяснить необходимость включения в файл метаданных, таких как высота, ширина и глубина цвета
- Обсудить влияние глубины цвета и разрешения на размер файла изображения
Curriculum Mapping:
KS3:
- Понять, как данные различных типов (включая текст, звуки и изображения) могут быть представлены и обработаны в цифровом виде в виде двоичных цифр
Введение:
Данные в компьютерах хранятся и передаются в виде последовательности единиц и нулей (также известной как Двоичный ).
Чтобы сохранить изображение на компьютере, оно разбивается на крошечные элементы, называемые пикселями. Пиксель (сокращение от элемента изображения) представляет один цвет. Изображение с разрешением 1024 х 798 пикселей имеет размер 1024 х 798 пикселей (817 152 пикселя).
Чтобы компьютер сохранял изображение, каждый пиксель представляется двоичным значением. Мы называем это представление цветов «битовой плоскостью». Каждый бит удваивает количество доступных цветов, т. е. 1 бит дает нам 2 цвета, 2 бита дает нам 4 цвета, 3 бита дает нам 8 цветов и т. д.
В монохромном (двухцветном) изображении, как в приведенном ниже примере, для представления каждого пикселя требуется всего 1 бит, например. 0 для белого и 1 для черного.
Изображения хранятся в строках сканирования. Каждая строка кодируется слева направо и сверху вниз. Изображение здесь получит следующие двоичные значения:
000000
010010
010010
000000
011110
000000
В изображении, которое использует 4 цвета, для каждого пикселя требуется 2 бита. В следующем примере два бита используются для хранения следующих цветов:
00 — белый; 01 — черный; 10 – желтый; 11 — Синий
10101010101010
100010100010
101110101110
101010101010
100101010110
101010101010
Для компьютера интерпретировать изображение, компьютер должен знать следующее:
- . Ширина и высота (в пикселях)
Мы называем эту дополнительную информацию «метаданными».
Хотите узнать больше?
Чтобы узнать больше о том, как компьютер представляет изображение в двоичном формате, нажмите на ссылки ниже:
- Версия GCSE Computing (представление двоичного изображения) — http://mattg99.wordpress.com/2011/05/ 21/gcse-computing-revision-binary-image-representation/
- CS Unplugged (представление изображений) http://csunplugged.org/image-representation
- BBC: Взлом кода (как изображения могут быть представлены в двоичная форма) – http://www. bbc.co.uk/programmes/p0166rgs
План урока:
На этом уроке учащиеся узнают, как компьютер представляет изображение в двоичном виде.
Starter
Объясните учащимся, что данные в компьютерах хранятся и передаются в виде последовательности нулей и единиц, также называемой «Двоичный» .
Покажите на доске следующее простое 1-битное изображение и попросите учащихся предложить, как его можно преобразовать в двоичное. Попробуйте представить такие ответы, как «Используйте 0 для представления белого и 1 для представления черного» или «Используйте 0 для представления черного и 1 для представления белого».
Объясните учащимся, что в компьютере изображение разбивается на крошечные элементы, называемые пикселями, и что каждый пиксель (сокращение от элемента изображения) представляет один цвет. Объясните, что изображение с разрешением 1024 х 798 пикселей имеет размер 1024 х 798 пикселей (817 152 пикселя).
Скажите учащимся, что для того, чтобы компьютер сохранял изображение, каждый пиксель представлен двоичным значением (единицей или нулем). Объясните, что мы называем это представление цветов «битовой плоскостью» и что каждый бит удваивает количество доступных цветов, т. е. 1 бит дает нам 2 цвета, 2 бита дает нам 4 цвета и 3 бита дает нам 8 цветов. цвета и т. д.
Продемонстрируйте это, используя двухцветные и четырехцветные изображения во введении (выше).
Показав учащимся, как компьютер будет представлять двухцветное и четырехцветное изображение, попросите учащихся предложить, как можно сохранить больше цветов, например 16, 256 и т. д.
Объясните учащимся, что изображение, представленное 24-цветным биты будут иметь 16 миллионов цветов — 16 777 216, если быть точным.
Наконец, раздайте следующие рабочие листы и попросите учащихся скопировать изображение, которое они создали в TouchDevelop, на предоставленные сетки. После того, как учащиеся перенесут свои изображения на рабочие листы, попросите учащихся преобразовать свое изображение в двоичный формат (как если бы они были компьютером).
Worksheets:
bitmaps-blank.pdf |
bitmaps-large.pdf |
Leave A Comment