The expression to the left of the equals sign is not a valid target for an assignment. ...? Error in line 3rd, " minOfBlocks = zeros(16,16); " ... Help me plz
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I=imread('pepper.png');
c = mat2cell(I, [32 32 32 32 32 32 32 32 32 32 32 32 32],...[32 32 32 32 32 32 32 32 32 32 32 32]);
minOfBlocks = zeros(16,16);
subplot(1,2,1);
imshow(I);
title('Original Image', 'FontSize', 30);
for i=1:16
for j=1:16
a = c{i,j};
minOfBlocks(i,j)=min(a(:));
end
end
subplot(1,2, 2);
imshow(minOfBlocks, []);
title('Min of 32x32 Blocks', 'FontSize', 30);
1 Kommentar
Matthew Eicholtz
am 22 Feb. 2016
I am having trouble reproducing your error. I see nothing explicitly wrong with the third line of code. Also, no need to say "Help me plz"; it won't get you answers any faster, I promise.
Antworten (2)
Steven Lord
am 22 Feb. 2016
Did you literally type ... in the middle of the second line? If so, MATLAB is waiting for you to finish that function call on the next line and assigning a value into a variable in the middle of a function call is not allowed. Either remove the ellipsis (...) or move the code that follows it onto the next line.
0 Kommentare
Jan
am 22 Feb. 2016
Bearbeitet: Jan
am 22 Feb. 2016
The ellipsis "..." is an implicit comment starter also. So everyting right from '...' is ignorend, such that Matlab try to run:
c = mat2cell(I, [32 32 32 32 32 32 32 32 32 32 32 32 32],...
minOfBlocks = zeros(16,16);
As Steven told already insert a line break after the '...':
c = mat2cell(I, [32 32 32 32 32 32 32 32 32 32 32 32 32],...
[32 32 32 32 32 32 32 32 32 32 32 32]);
minOfBlocks = zeros(16,16);
By the way: The bunch of "32" is hard to debug. This is easier to read:
c = mat2cell(I, repmat(32, 1, 13), repmat(32, 1, 12));
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!