Computing pixels value(Uk,Uj) from U -Image in YUV color Space

1 view (last 30 days)
Hi everyone
I want to compute the pixel values let say Uk and Uj from UImage.Here is my code in which I am doing indexing.
UImage=imread(Uimage);
B=ones(length(UImage));
slidingwindow=conv2(B,UIimage,'same');%this part computes only centre pixels.
[pixelrow pixelcol]=size(slidingwindow);%Pixelrow and pixelcol are center pixels of window
for windrow=-1:1
row=pixelsrow+windrow;
for windcol=-1:1
col=pixelscol+windcol;
%% here I need some piece of code further May be Uk=UImage(row,col)???????????
end end
  1 Comment
iup geii amiens
iup geii amiens on 20 May 2014
Hello Sir,
I am working on the same sheet. Please can i have your code and we may help each other :D
I will be grateful Have a nice day

Sign in to comment.

Answers (2)

Thorsten
Thorsten on 20 Feb 2013
To get the pixel values of a gray scale image
I = imread('cameraman.tif');
x = 20; y = 30;
Ixy = I(y, x);
To get the G pixel value of an RGB image
I = imread('peppers.png');
IGxy = I(y, x, 2);
Same should work for your U image if you have stored just the U channel or all three channels in your image.
  8 Comments
Thorsten
Thorsten on 20 Feb 2013
Edited: Thorsten on 20 Feb 2013
I assume that you refer to the paper http://philippe.noriega.free.fr/fichiers/visapp06.pdf
Then x and y are the location in the image where you compute your histograms. n = 12 is the size of your subwindow that is applied with a gap of 3 to your image.
To slide your window, use
gap = 3;
for x = 1:gap:size(I, 1)
for y = 1:gap:size(I, 2)
ind1 = y-n/2:y+n/2;
ind2 = x-n/2:x+n/2;
And for each location you need a third loop over the number of bins in your histogram
for j = 1:Nbins
dU = Uk(:) - Uval(j);
dV = Vk(:) - Vval(j);
Gj = Kj*exp(-(Du.^2+Dv.^2)/(2*sigma^2));
CH(x, y, j) = Gj;
end
end
end

Sign in to comment.


Image Analyst
Image Analyst on 20 Feb 2013
Your code is all wrong. Try this:
UImage=imread(Uimage);
windowSize = 5;
sigma = whatever.....
kernel = fspecial('gaussian', windowSize, sigma);
slidingwindow=conv2(UIimage, kernel ,'same');
You don't need double for loops after that - conv2 does the sliding window filtering so it's already done. No need to try to do it again manually.
  9 Comments
Image Analyst
Image Analyst on 20 Feb 2013
Correct, but I haven't really tried to understand what the algorithm does. You're just blurring the U channel. Not sure if that's part of the algorithm or not - I'm just going by what you said.
Algorithms Analyst
Algorithms Analyst on 21 Feb 2013
Yeah. That's so interesting.In the color Gaussian kernel part of the algorithm two other pixels values from i and j locations are computed and they are VJ and Vk respectively.So I think they are taking just UV image from YUV colorspace by ignoring Y channel and computing the color gaussain kernel in UV color space.But anyway thanks for your time and concern.
Thanksssss......cheers..

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!