error in calculating distance
Show older comments
I have a image and have divided it into blocks
C = mat2cell(I,[128 128],[128 128])
my output is
C =
[128x128 uint8] [128x128 uint8]
[128x128 uint8] [128x128 uint8]
i have taken first block
A1=I(1:128, 1:128);
i want to calculte distance of A1 with C1 ,i tried euclidean distance but i get error
Error in ==> EuD at 23
Distance= sqrt(d);
9 Comments
Pat
on 13 Jan 2012
Grzegorz Knor
on 13 Jan 2012
How do you calculate d?
Image Analyst
on 13 Jan 2012
Is d the Pythagorean theorem between each pixel's intensity, like sqrt(A1 - C1)? Wouldn't that be zero? What is C1? Is that the first block? Well isn't that also A1? So the difference would be zero?
Pat
on 13 Jan 2012
Image Analyst
on 13 Jan 2012
Well why wouldn't your (inefficient, non-vectorized) function work for any A and B you pass in? Why not use RMS Error or PSNR instead?
Walter Roberson
on 13 Jan 2012
You do not show us the error message, and you do not show us what C1 is.
Pat
on 14 Jan 2012
Image Analyst
on 14 Jan 2012
That's not an official MATLAB error message - the text that shows up in red in the command window. We need the official error message. Please, please simply copy and paste your command window - DON'T paraphrase.
Walter Roberson
on 14 Jan 2012
C1 might be that size and data type, but did define it as
C1 = C{1,1};
or as something else?
Answers (0)
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!