Joint Histogram 2 D

22 次查看(过去 30 天)
Brave A
Brave A 2019-9-4
评论: Brave A 2019-10-29
I am doing this
Write a MATLAB function which computes the 2D joint histogram, GXY ,
of a pair of images, X and Y, of equal size. Test it on the red and green
components of the Queen Butterfly image.
Display the joint histogram, GXY , as a grey level image.
here is my attempt:
function h=histogramtest
A=imread('queen_butterfly_fish.ppm');
h=zeros(size(A,1),size(A,2));
red=A(:,:,1);
green=A(:,:,2);
row=double(red(:)+1);
col=double(green(:)+1);
%h = zeros(256,256);
for i=1:256
for j=1:256
for k = 1:size(row)
% count number of occurences where i == row(k) and j == col(k)
end
% set h(i,j) = count value you get from previous loop
end
end
imshow(h)
end
it's not working at all . Thanks in advance for help in edit the code.
  3 个评论
Brave A
Brave A 2019-9-4
it might a mistakes.
I tried to implement what questions asked, any help?
Brave A
Brave A 2019-9-4
I don't want his function becaue I have colored pictured and I want to show in gray. the first part of my code is correct but the second part , is where I am struggling .

请先登录,再进行评论。

采纳的回答

Bruno Luong
Bruno Luong 2019-9-4
编辑:Bruno Luong 2019-9-4
% Test data
A = imread('ngc6543a.jpg');
red=A(:,:,1);
green=A(:,:,2);
% h = histcounts2(green,red,256); % compute
% or plot
histogram2(green(:),red(:),256);
  4 个评论
Bruno Luong
Bruno Luong 2019-9-4
编辑:Bruno Luong 2019-9-4
Yeah because the loops obviously are wrong. It come down to understand what is an histogram. If it's homework, then I can't help you more.

请先登录,再进行评论。

更多回答(1 个)

Bruno Luong
Bruno Luong 2019-9-4
编辑:Bruno Luong 2019-9-4
% Test data
A = imread('ngc6543a.jpg');
red=A(:,:,1);
green=A(:,:,2);
h = accumarray([green(:),red(:)]+1,1,[256 256]);

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by