Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Error in sub plot when I resize Image to divide it to blocks ,can any one solve it?

1 Ansicht (letzte 30 Tage)
Ameligege
Ameligege am 21 Mär. 2015
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I use this code from math works but I change the new size of resizing function and I get this error
clc; % Clear the command window.
format compact;
workspace; % Make sure the workspace panel is showing.
fontSize = 20;
% Read in a standard MATLAB color demo image.
folder = fullfile(matlabroot, '\toolbox\images\imdemos');
baseFileName = 'peppers.png';
fullFileName = fullfile(folder, baseFileName);
% Get the full filename, with path prepended.
fullFileName = fullfile(folder, baseFileName);
if ~exist(fullFileName, 'file')
% Didn't find it there. Check the search path for it.
fullFileName = baseFileName; % No path this time.
if ~exist(fullFileName, 'file')
% Still didn't find it. Alert user.
errorMessage = sprintf('Error: %s does not exist.', fullFileName);
uiwait(warndlg(errorMessage));
return;
end
end
rgbImage = imread(fullFileName);
% For demo purposes, let's resize it to be 64 by 64;
rgbImage = imresize(rgbImage, [512 512]);
% Get the dimensions of the image. numberOfColorBands should be = 3.
[rows columns numberOfColorBands] = size(rgbImage)
ca = mat2cell(rgbImage,8*ones(1,size(rgbImage,1)/8),8*ones(1,size(rgbImage,2)/8),3);
plotIndex = 1;
for c = 1 : size(ca, 2)
for r = 1 : size(ca, 1)
fprintf('c=%d, r=%d\n', c, r);
subplot(256,256,plotIndex);
x=ca{r,c};
size(x)
imshow(x);
plotIndex = plotIndex + 1
end
end
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
The original resizing was to 64*64

Antworten (1)

Image Analyst
Image Analyst am 21 Mär. 2015
It worked for me, other than being real slow. What was the error message you got? By the way, change
subplot(256,256,plotIndex);
to
subplot(64, 64, plotIndex);
and put a drawnow after the r loop, just before the end of the c loop.
  2 Kommentare
Ameligege
Ameligege am 21 Mär. 2015
what do you mean by"put a drawnow after the r loop, just before the end of the c loop." ?
Ameligege
Ameligege am 21 Mär. 2015
The Error was in subplot ,but now I am trying this code after your solution but it does not show the output? Because I want to see the blocks of the same size 8*8

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by