Данная функция создает гистограмму для элементов матрицы M, разделяя диапазон интенсивности на n столбцов. Каждый столбец содержит то количество пикселов, которое подходит под его диапазон уровней интенсивности. Например, если n = 256, то для каждого возможного уровня интенсивности 8-битного изображения в оттенках серого существует один столбец. Если количество столбцов меньше 256, уровни интенсивности делятся следующим образом:
Маркировка столбцов начинается с 0. Если количество столбцов больше 256, их размер будет меньше 1.
1. Задайте небольшую матрицу, чтобы увидеть отношение между значениями и видом гистограммы.
2. Определите число столбцов для применения функции imhist к матрице, указанной выше.
Поскольку n = 255, каждый из 256 уровней интенсивности получит отдельный столбец. Как видно из матрицы P, единственный столбец, счетчик которого будет больше единицы, это столбец под номером 150.
3. Нарисуйте гистограмму уровней интенсивности.
4. Задайте переменной n меньшее значение (например, 5) и посмотрите разницу.
Поскольку n = 5, все 256 уровней интенсивности должны быть разделены на 5 отдельных столбцов. Значения интенсивности от 0 до 256/5 вносятся в столбец 0, значения от 256/5 до 512/5 — в столбец 1 и т. д.
Как видно из матрицы P и диаграммы выше, значения интенсивности распределятся следующим образом:
◦ 0, 30, 40 — в столбце 0 (0-51)
◦ В столбце 1 значений нет (52-103)
◦ 120 и три значения по 150 — в столбце 2 (103-154)
◦ 200 — в столбце 3 (154-205)
◦ 240 — в столбец 4 (205-256)
5. Используйте функцию READ_IMAGE для чтения изображения, содержащего пробелы.
(pattern.bmp)
6. Примените функцию imhist к изображению.
Пустые пространства на изображении (значения интенсивности, равные 255) отобразятся в виде больших пиков на правой стороне гистограммы. Черный цвет и другие отдельные тона можно увидеть в других столбцах.
7. Вычислите количество элементов в столбце 0 (черный цвет) и в столбце 255 (белый цвет).
Области на изображении с различными оттенками серого отобразятся в виде небольших пиков вдоль оси X.
imhist2
Данная функция может быть использована для разбиения значений за пределами диапазона 0-255.
1. Задайте матрицу, содержащую элементы за пределами диапазона 0-255.
2. Укажите число столбцов и вычислите гистограмму с n столбцов.
3. Вычислите конечные точки n столбцов.
hist2d
Данная функция создает двумерную гистограмму из двух изображений M и N, используя n столбцов в каждой размерности. Переменные M и N должны иметь одинаковый размер. Если два изображения имеют примерно одинаковое число пикселов при одинаковых интенсивностях, то матрица, возвращаемая функцией hist2d, будет иметь сильную диагональ. Функция разбивает диапазон 0-255 на n столбцов.
1. Задайте число столбцов и 2 матрицы изображений с одинаковым размером.
2. Используйте оператор умножения векторов с функцией bin_label, заданной выше, чтобы вычислить число столбцов для матриц P и Q.
Двумерная гистограмма является матрицей n x n, увеличивающей счетчик в столбце c и строке r для каждого элемента матрицы Pbins с номером столбца c и соответствующего элемента матрицы Qbins со значением r. Например, первые элементы матриц Pbins и Qbins равняются 0 и 2 соответственно, поэтому счетчик в столбце 0 и строке 2 матрицы гистограммы увеличится на единицу.
3. Вычислите матрицу гистограммы, создав сначала матрицу нулей и увеличив затем значения.
4. Сравните выходные данные, приведенные выше, с выходными данными функции hist2d.
5. Для более конкретного примера предположим, что имеется цветное изображение.
6. Используйте функцию extract для извлечения зеленого и синего компонентов по отдельности, чтобы обеспечить сравнение двух цветовых компонентов.
7. Отобразите двумерную гистограмму.
(hist2d.bmp)
8. Отобразите двумерную гистограмму в виде изображения интенсивности в логарифмической шкале.
Изучите изображение и отметьте разные интенсивности. Сильная диагональ в данной двумерной гистограмме означает, что большинство пикселов в соответствующих расположениях имеют одинаковые интенсивности. Это приемлемо для двух компонент цвета на одной и той же фотографии. Диагональ была бы менее выпуклой для двух изображений с разными текстурами.