Undefined function 'dyaddown' for input arguments of type 'uint8'.

7 views (last 30 days)
Getting the error:
Undefined function 'dyaddown' for input arguments of type 'uint8'.
Code is:
%Clear command window.
clc;
%Clear workspace.
clear;
%Load the Lena file.
RGB = imread ('Lena.tiff');
%Display the result of the conversion.
figure, imshow(RGB);
%Convert RGB image to YCbCr Components.
YCbCr = rgb2ycbcr(RGB);
%Isolate Y.
Y = YCbCr(:,:,1);
%Isolate Cb.
Cb = YCbCr(:,:,2);
%Isolate Cr.
Cr= YCbCr(:,:,3);
%downsample
dem = dyaddown(Cb,1,'m') % Downsample rows and columns
% with odd indices.
Why is this? How to I fix it?
Many thanks.

Accepted Answer

Image Analyst
Image Analyst on 7 Apr 2015
I've never heard of dyaddown(). If you want to subsample Cb to get only the odd indexes and end up with an image 1/4 as big, do this:
dem = Cb(1:2:end, 1:2:end); % Extract only odd indexes.
For even indices, do this:
dem = Cb(2:2:end, 2:2:end); % Extract only even indexes.
  6 Comments
Alexander De-Ville
Alexander De-Ville on 8 Apr 2015
Silly me. Any hints on the upsampling issue?
What would be the best way to upsample?
This exists:
But it only works in one dimension instead of x and y. So cant undo 4:2:2 encoding.
Thank you again!
Image Analyst
Image Analyst on 9 Apr 2015
You can use imresize() to specify the size of the output image you'd rather have.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!