taking part of the picture

Hi;
I'm newbie in mat lab and I've a picture that I need to cut or delete the bottom region of it and I've used this cod it makes error I do not know why and how can i take a portion of this picture and not all of it.
Here is the code:
ROI= imread('pic.jpg');
imfinfo('pic.jpg');%to know the number of columns and number of rows
nRows=1180;
nColumns=2039;
%Region Of Interest exclude the bottom part
% ROI=imresize(ROI,[nRows nColumns]);
ROI=ROI(1:1180,:);
imshow('pic.pg')
Thanks in advance

 采纳的回答

Harshit
Harshit 2012-11-26

0 个投票

Here is an error you can't use imshow on an image. You have to first read it in a variable then use imshow on that. imshow(ROI) is the correct answer

4 个评论

Thanks for your reply,it works well,but the picture has been repeated for three times I don't know why and the bottom part still as it was, it should be excluded.
thanks in advance
Image Analyst
Image Analyst 2012-11-26
编辑:Image Analyst 2012-11-26
Harshit's answer is not correct - you should not have accepted it. You can pass in a string with a filename in it into imshow and it will read the file and display it. And I don't understand what you are saying in your comment.
Sorry I agree image analyst point is correct.
Thanks Image Analyst,Thanks Harshit I have accepted Harshit answer because when I changed the code from
imshow('pic.jpg') TO
imshow(ROI)
a figure has showed up
about what I'm saying my comment,I need to take a portion from the picture not whole the picture then I am going to use sobel edge detection. when the program ran it showed a figure with 3 copies of the original picture.
I hope that I clarify my problem.
Thanks again ,I hope you can help me.

请先登录,再进行评论。

更多回答(1 个)

You need to show your ROI variable, not some bad filename. You put pic.pg, not pic.jpg, so that doesn't exist, but anyway, even if a file by that name existed, that will display the full file, not a cropped portion of it. You should do it this way:
grayImage = imread('pic.jpg');
croppedImage = grayImage(1:1180, :);
imshow(croppedImage);

3 个评论

Thanks Image Analyst,
I have tried your suggested code but the same thing happen the image didn't crop and the image repeated itself in the output figure.
what can I do?
Thanks in advance
I find that hard to believe. Here, run this demo and see if it works:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
imtool close all; % Close all imtool figures.
clear; % Erase all existing variables.
workspace; % Make sure the workspace panel is showing.
format longg;
format compact;
fontSize = 20;
% Read in a standard MATLAB gray scale demo image.
folder = fullfile(matlabroot, '\toolbox\images\imdemos');
baseFileName = 'concordorthophoto.png';
% Get the full filename, with path prepended.
fullFileName = fullfile(folder, baseFileName);
% Check if file exists.
if ~exist(fullFileName, 'file')
% File doesn't exist -- 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 in the search path folders.', fullFileName);
uiwait(warndlg(errorMessage));
return;
end
end
grayImage = imread(fullFileName);
% Get the dimensions of the image.
% numberOfColorBands should be = 1.
[rows columns numberOfColorBands] = size(grayImage)
% Display the original gray scale image.
subplot(1, 2, 1);
imshow(grayImage, []);
title('Original Grayscale Image', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
% Give a name to the title bar.
set(gcf,'name','Demo by ImageAnalyst','numbertitle','off')
% Crop off the first 1180 lines and display that:
croppedImage = grayImage(1:1180, :);
[rows2 columns2 numberOfColorBands2] = size(croppedImage)
subplot(1, 2, 2);
imshow(croppedImage, []);
title('Cropped Grayscale Image', 'FontSize', fontSize);
Thanks too much it works will.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by