Code bug with image algorithm
4 次查看(过去 30 天)
显示 更早的评论
Hello there,
Here's a part of the code that I'm using to approximate an image and I'm kind of not understanding the problem with the last line. I'm suspecting there's something wrong with the datatype of m. The value of m is (sqrt(M)-1)/2 where M is the number of coefficients.
sizeImage = size(riceImage,1);
A = zeros(sizeImage);
sel = (sizeImage/2-m:sizeImage/2+sizeImage)+1;
A(sel,sel) = B(sel,sel);
回答(1 个)
Image Analyst
2014-1-16
Try this:
sizeImage = size(riceImage, 1); % Number of rows only (not # columns)
A = zeros(sizeImage); % rows by rows square image.
halfWidth = int32(sizeImage/2); % Round to nearest integer.
% The remaining code will go out of bounds and is nonsense.
% At least I don't understand the intent of it.
sel = (halfWidth -m : halfWidth + sizeImage)+1; % Maybe try end instead of sizeImage
A(sel,sel) = B(sel,sel); % No idea what this is supposed to do.
1 个评论
Walter Roberson
2014-1-17
sizeImage/2+sizeImage is going to be greater than sizeImage so you are attempting to index outside the "A" that you defined.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!