Pixel Differnce Histogram Plotting.

7 views (last 30 days)
Mostfa Abd El-Aziz
Mostfa Abd El-Aziz on 23 Nov 2022
Commented: Image Analyst on 28 Nov 2022
How to plot histogram for (PDH) analysis like in the attached image

Answers (1)

Image Analyst
Image Analyst on 24 Nov 2022
You can use histogram or, if you already have the counts (like from histcounts) then use bar.
The title function was also used to put a caption above those plots.
  2 Comments
Image Analyst
Image Analyst on 28 Nov 2022
There are examples in the documentation for the functions. You'll see things like this
yourGrayScaleImage = imread('lena_grayscale.jpg');
% Get the dimensions of the image.
% numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image.
[rows, columns, numberOfColorChannels] = size(yourGrayScaleImage)
rows = 512
columns = 512
numberOfColorChannels = 1
%--------------------------------------------------------------------------------------------------------
% Convert to grayscale if it's not already
if numberOfColorChannels > 1
% It's not really gray scale like we expected - it's color.
fprintf('It is not really gray scale like we expected - it is color\n');
% Extract the blue channel.
yourGrayScaleImage = yourGrayScaleImage(:, :, 3);
% Update the dimensions of the image.
% numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image.
[rows, columns, numberOfColorChannels] = size(yourGrayScaleImage)
end
% Display image.
subplot(2, 1, 1);
imshow(yourGrayScaleImage);
title('Cover')
% Take histogram.
[counts, edges] = histcounts(yourGrayScaleImage, 256);
% Plot Histogram
subplot(2, 1, 2);
bar(edges(1:end-1), counts, 1);
grid on;
title('PDH of Cover')
xlabel('Gray Level')
ylabel('Count')

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!