block matching image issue
Show older comments

When I did blockmatching algorithm on the tennis man image, and did a comparaison between the original and reconstructed image I got this black boxes, why?
5 Comments
Image Analyst
on 8 Apr 2023
There is no way to tell with the minimal information you have shared. If you have any more questions, then attach your image(s) and code to read it in with the paperclip icon after you read this:
Blob
on 8 Apr 2023
Edited: Walter Roberson
on 8 Apr 2023
Walter Roberson
on 8 Apr 2023
We would need your .mat files for testing.
Blob
on 8 Apr 2023
(Just showing the output, not trying to debug the problem)
Untitled5
Answers (1)
Walter Roberson
on 8 Apr 2023
Your attached code (but not your posted code) has
imshow (F2_recons - e1)
where both of those arrays are double precision and happen to contain integer values. The difference between the two arrays ranges between -255 and +206 . You are passing that array of values -255 to +206 to imshow() as a double precision array. By default, when passed a double precision array, imshow() assumes that the valuable part of the data is the range 0 to 1, and that anything below 0 should be treated as 0 and anything above 1 should be treated as 1. So you more or less end up binarizing the difference array.
You should be considering using
imagesc(F2_recons - e1);
colormap(gray)
2 Comments
Blob
on 10 Apr 2023
Walter Roberson
on 10 Apr 2023
Sorry, no, I do not see anything in your code that corresponds to vectors of motion, or anything that corresponds to motion at all. I cannot tell what you are calculating at all.
Categories
Find more on Red in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


