I am trying for crop an image in to two equal parts using for loop but not getting correct ans.

2 ビュー (過去 30 日間)
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);

採用された回答

Image Analyst
Image Analyst 2015 年 4 月 6 日
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 件のコメント
Durgesh Naik
Durgesh Naik 2015 年 4 月 7 日
Is it possible to crop image using for loop?
Image Analyst
Image Analyst 2015 年 4 月 7 日
Yes, but you wouldn't want to do that.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGeometric Transformation and Image Registration についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by