logo
МИРЭА / Методичка_2010 / Методичка_2010

Растровое изображение Изображение как двумерный массив данных

Когда мы смотрим на двумерное изображение какой-либо трехмерной сцены (на картине, фотографии, экране монитора), нам кажется, что там непосредственно присутствуют все те предметы, которые мы могли бы увидеть, если бы непосредственно наблюдали ту же сцену в жизни. Между тем, все, что нам на самом деле дано в двумерном изображении, это видимое поле, представляющее собой лишь некоторуюфункцию распределения яркостиилицветана двумерной плоскости:f(x,y), гдеxиy– декартовы координаты, описывающие плоскость изображения.

Более того, если приблизиться вплотную к экрану компьютерного монитора, можно увидеть, что изображение на экране на самом деле не гладкое и непрерывное, а представляет собой дискретную «мозаику», состоящую из отдельных цветных прямоугольников, расположенных в виде регулярной прямоугольной матрицы. Это и есть цифровое изображение. С математической точки зрения цифровое изображениепредставляет собой двумерную матрицуIm[x,y] размера (DimXDimY), гдеx– целое число от 0 доDimX– 1, описывающее номер элемента в строке матрицы,y– целое число от 0 доDimY– 1, описывающее номер строки матрицы, в которой расположен данный элемент. При этом сам элемент цифрового изображения (ячейка прямоугольной матрицы) носит названиепиксель (pixel,pictureelement). В простейшем случае каждый пиксельIm[x,y] имеет скалярное целочисленное значение, пропорциональное значению функции распределения яркостиf(x,y) в данной точке плоскости.

На рис. 1.1.1 слева показано изображение женского лица, представленное как изображение, а справа показан увеличенный фрагмент изображения того же лица (правый глаз), где для каждого элемента изображения указано соответствующее числовое значение пикселя. Светлым элементам изображения соответствуют большие значения матрицы, темным – меньшие значения. Никакой другой информации цифровое изображение не содержит.

@Рис. 1.1.1 Цифровое изображение как двумерная матрица интенсивностей

Начиная изучать машинное зрение, необходимо четко представлять себе, что в компьютере в качестве цифрового изображения хранится только и исключительно двумерный массив чисел того или иного формата. Любые другие данные, которые мы хотели бы из изображения извлечь (фигуры, линии, объекты, размеры, содержание изображенного текста и т.д. и т.п.) – могут быть получены лишь в результате применения ряда процедур обработки и анализа изображения, которые мы должны либо сами запрограммировать, либо использовать готовые процедуры, имеющиеся в известных пакетах программ для анализа изображений. При этом для решения простых задач компьютерного зрения готовые средства наверняка найдутся в стандартных библиотеках процедур обработки изображений, для решения задач посложнее необходимо будет скомбинировать те или иные готовые процедуры, а для многих вполне «обыденных» задач, которые «биологическое» зрение человека, казалось бы, решает легко и играючи, компьютерное машинное зрение до сих пор решений не имеет и все еще продолжает их искать. Ведь используя свое естественное зрение, человек легко ориентируется в любой обстановке, узнает предметы, выбирает путь, управляет автомобилем и многое, многое другое. Почему же компьютер, получающий изображение от видеокамеры, всего этого не может? Может быть, дело в строении человеческого глаза?

На самом деле человеческий глаз, как и видеокамера, всего лишь формирует «видимое поле», аналогичное цифровому изображению. При этом оптическая система, состоящая из зрачка и хрусталика, проецирует двумерное изображение на сетчатку глаза, где фоточувствительные клетки («палочки» и «колбочки») преобразуют полученное изображение в нервные импульсы. И только после этого сложный механизм обработки полученной информации, функционирующий в соответствующем отделе нашего мозга, интерпретирует эти импульсы как понятное нам изображение видимой сцены. Таким образом, и у человека функцию «видения» выполняет не один только глаз, но система «глаз + мозг» («сенсор + компьютер»). Именно встроенные в мозг алгоритмы обработки информации позволяют человеку понимать то, что он видит. Роль этих встроенных алгоритмов можно пояснить на следующем примере.

Когда в середине XXвека хирурги-офтальмологи научились делать операции на хрусталике глаза, у многих слепых от рождения людей появилась техническая возможность прозреть. То есть после такой операции у человека, доселе слепого (свет просто не проходил через хрусталик), изображение на сетчатке начинало формироваться и соответствующие сигналы начинали поступать в мозг совершенно так же, как это происходит у здоровых людей. К сожалению, в данном случае «увидеть свет» не означало «начать видеть». Как показала дальнейшая история, большинство «технически прозревших» взрослых пациентов так никогда и не смогли достичь в области зрения более существенных результатов, чем распознавание простых геометрических фигур – и даже это требовало от них серьезных сознательных усилий. Узнавание же людей по лицам и ориентирование в пространстве так и остались для них непосильными задачами. Дело в том, что те встроенные механизмы «автоматического» зрительного анализа, которые развиваются у людей в раннем детстве, у этих пациентов не были своевременно развиты, и они оказались в положении компьютера, имеющего устройство для ввода изображения, но не имеющего необходимого программного обеспечения для его анализа.

Для того чтобы окончательно убедиться в сложности стоящей перед нами задачи анализа изображения, представляющего собой двумерный массив числовых данных, попробуем поставить себя на место компьютерной программы, имеющей дело с абстрактными числами. Для этого мысленно изменим модальность восприятия изображения – переведем его из визуальной области в тактильную. Представим двумерный массив значений интенсивности как шахматную доску, размер которой равен размеру изображения (DimXDimY), а в центр каждой клетки воткнут столбик, высота которого пропорциональна значению соответствующего пикселя изображения. Иными словами, рассмотрим двумерное изображение как некую условную трехмерную поверхность. На рис. 1.1.2 слева фрагмент женского лица показан как изображение, а справа изображен как псевдотрехмерный рельеф.

@Рис. 1.1.2. Цифровое изображение как псевдо-трехмерный рельеф

Теперь представьте себе, что вы должны, не глядя на изображение, ощупать соответствующий ему «рельеф» и постараться определить, что именно этот «рельеф» изображает – дом, собаку или человеческий глаз? Как показывают эксперименты, средний человек не в состоянии справиться с подобной задачей. Даже распознавание простейших геометрических фигур в подобном «рельефном» представлении будет связано со значительными усилиями и потребует сознательной выработки специального навыка, стратегии и алгоритмов ощупывания. Такова, несмотря на кажущуюся простоту объекта «цифровое изображение», истинная сложность задач компьютерного и машинного зрения.