To divide an image into 2 equal halves
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
keerthi
am 26 Sep. 2012
Kommentiert: mariena aloor
am 10 Sep. 2019
I wrote the code for it . I can divide the left side of an image and while doing for the right side left part of it is black and right part is the second half of the image . The problem where i am facing is , in the 2nd for loop it starts with k=1 n m=110 so for others column values from 1 to 109 as a default its taking zero. How to sort out this problem.
% code
x=imread('img1.jpg');
image=rgb2gray(x);
[q r]=size(image);
s=r/2;
for i=1:q
for j=1:s
n1(i,j)=image(i,j);
end
end
for k=1:q
for m=s:r
n2(k,m)=image(k,m);
end
end
imshow(n1)
figure
imshow(n2)
end
4 Kommentare
Image Analyst
am 3 Apr. 2015
How do you know? Did you ask keerthi? He accepted the answer so I would assume that it is working.
Akzeptierte Antwort
Walter Roberson
am 26 Sep. 2012
n1 = image(:, 1 : end/2);
n2 = image(:, end/2+1 : end );
4 Kommentare
Image Analyst
am 12 Okt. 2013
Bearbeitet: Image Analyst
am 13 Okt. 2013
Well . . . what is the name of your variable? I really really doubt it's called image - at least it shouldn't be. So you need to use the actual name of your image array variable. What is it? Let's say it's called grayImage. Then use grayImage(....) instead of image(....)
Jaya Darshini N K
am 11 Feb. 2019
i have tried this and this is working perfectly. but images ni and n2 are displaying along with the full image. i want only n1 and n2 to be displayed.
thanks in advance!!!
Weitere Antworten (2)
Jay Li
am 10 Mai 2018
function y = halfpic(x)
% Enter an image in matrix form
n = floor(size(x)/2)
m = size(x);
Lpic = x(:,1:n(2),:);
Rpic = x(:,n(2)+1:m(2),:);
imshow(Lpic);
figure
imshow(Rpic);
1 Kommentar
JEBA CHRISTILDA
am 9 Aug. 2016
yes i too tried this but it is showing error in imshow(n1)
1 Kommentar
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!