I am trying for crop an image in to two equal parts using for loop but not getting correct ans.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Durgesh Naik
el 6 de Abr. de 2015
Comentada: Image Analyst
el 7 de Abr. de 2015
clc; clear all; close all;
input= imread('120kv x1.25mA(56000)15cm.bmp'); figure(1),imshow(input); a=im2double(input); [x, y, z]=size(a);
y1=round(y/2);
% new=a; for i=1:x; for j=1:z; for k=1:y1; new(x, y1, z)=a(x, y, z); end end end figure, imshow(new);
% new=a; for i=1:x; for j=1:z; for k=1:y1; new1(x,y1,z)=a(x, y1+1, z); end end end figure, imshow(new1);
0 comentarios
Respuesta aceptada
Image Analyst
el 6 de Abr. de 2015
Don't use input as the name of your image because it's already the name of a built-in function. You don't need a for loop. Just use regular indexing:
[rows, columns, numberOfColorChannels] = size(rgbImage);
middleCol = floor(columns/2);
leftHalf = rgbImage(:, 1:middleCol, :);
rightHalf = rgbImage(:, (middleCol+1):end, :);
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Geometric Transformation and Image Registration en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!