fid = fopen('camera5.yuv', 'r' );
if fid == -1
error('Cannot open file.');
end
hor = 640;
ver = 480;
for i=1:ver
picture(i,:) = fread(fid, hor * 2, 'uint16');
end
fclose(fid);
picture = round((picture ./ 1024) * 256);
y = uint8(zeros(ver, hor));
u = uint8(zeros(ver, hor));
v = uint8(zeros(ver, hor));
for i = 1:ver
for j = 1:4:hor * 2
y(i, (j + 1)/2) = picture(i, j);
u(i, (j + 1)/2) = picture(i, j + 1);
u(i, (j + 3)/2) = picture(i, j + 1);
y(i, (j + 3)/2) = picture(i, j + 2);
v(i, (j + 1)/2) = picture(i, j + 3);
v(i, (j + 3)/2) = picture(i, j + 3);
end
end
frame(:, :, 1) = y;
frame(:, :, 2) = u;
frame(:, :, 3) = v;
rgb = ycbcr2rgb(frame);
figure,imshow(rgb);