假設有兩幅圖像imageA和imageB,那麼它們的聯合灰度直方圖定義如下:
首先,要求兩圖像的大小是相同的;
其次,統計對應點上(iA, iB)灰度組合(I(iA), I(iB)出現的頻率。
Matlab代碼如下:
clear all; close all; clc;
image = imread('hedgebw.pgm');
imageA = image;
imageB = image;
[row, col] = size(image);
grayscale = 256;
jointHistogram = zeros(grayscale, grayscale);
for y = 1:row
for x = 1:col
jointHistogram(imageB(y, x) + 1, imageA(y, x) + 1) = ...
jointHistogram(imageB(y, x) + 1, imageA(y, x) + 1) + 1;
end
end
figure, imshow(mat2gray(jointHistogram)); title('聯合概率分佈');
對兩幅完全相同的圖像,它們的聯合直方圖類似於下圖: