How to make a crop image with a white color result ?

1 view (last 30 days)
%%Cropping column off 25%
file=imread('Airplane.tiff');
CR1=imcrop(file,[128 0 512 512]);
[x,y]=size(CR1);
CRP1=zeros(M,N);
for i=1:x
for j=1:y
CRP1(i,j+127)=CR1(i,j);
end
end
step = step + 1;figure(step); imshow(uint8(CRP1));title('The Watermarked Image with Croping column off 25%');
imwrite(uint8(CRP1),'24.tiff','tiff');
if I run the code the cropping result is a black color, how to change it into a white color? -Thanks for the help-

Accepted Answer

ANKUR KUMAR
ANKUR KUMAR on 1 Oct 2018
Do you want white space or not any space over cropped area. Refer this. Since you have not pasted the original image, I am taking your attached image as input.
A=imread('24.jpg');
subplot(1,2,1)
imshow(A)
subplot(1,2,2)
[m,n]=size(A);
imshow(A(round(m/2)-100:round(m/2)+100,round(m/2)-100:round(m/2)+100))
  2 Comments
ANKUR KUMAR
ANKUR KUMAR on 1 Oct 2018
Or if you still wish white color over cropped portion, just replace the black portion with white color code.
file=imread('24.jpg');
CR1=imcrop(file,[128 0 512 512]);
[x,y]=size(CR1);
CRP1=zeros(x,y);
for i=1:x
for j=1:y
CRP1(i,j+200)=CR1(i,j);
end
end
AA=uint8(CRP1);
AA(AA==0)=255;
imshow(AA);

Sign in to comment.

More Answers (2)

DhaniAri
DhaniAri on 1 Oct 2018
Thank u for the help. I look for the white color over cropped partition
  2 Comments
Image Analyst
Image Analyst on 1 Oct 2018
You've accepted the answer so I guess it solved it for you, though you didn't explicitly say so.
DhaniAri
DhaniAri on 1 Oct 2018
I'm sorry, i forget to say it on my comment

Sign in to comment.


Image Analyst
Image Analyst on 17 Dec 2020
This will do it:
% Demo by Image Analyst, December, 2020.
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clearvars;
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 16;
fprintf('Beginning to run %s.m ...\n', mfilename);
%-----------------------------------------------------------------------------------------------------------------------------------
% Read in image.
folder = [];
baseFileName = '24.jpg';
fullFileName = fullfile(folder, baseFileName);
% Check if file exists.
if ~exist(fullFileName, 'file')
% The file doesn't exist -- didn't find it there in that folder.
% Check the entire search path (other folders) for the file by stripping off the folder.
fullFileNameOnSearchPath = baseFileName; % No path this time.
if ~exist(fullFileNameOnSearchPath, '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);
[rows, columns, numberOfColorChannels] = size(grayImage)
% Display the test image full size.
subplot(2, 2, 1);
imshow(grayImage, []);
axis('on', 'image');
caption = sprintf('Reference Image : "%s"', baseFileName);
title(caption, 'FontSize', fontSize, 'Interpreter', 'None');
drawnow;
hp = impixelinfo(); % Set up status line to see values when you mouse over the image.
% Set up figure properties:
% Enlarge figure to full screen.
hFig1 = gcf;
hFig1.Units = 'Normalized';
hFig1.WindowState = 'maximized';
% Get rid of tool bar and pulldown menus that are along top of figure.
% set(gcf, 'Toolbar', 'none', 'Menu', 'none');
% Give a name to the title bar.
hFig1.Name = 'Demo by Image Analyst';
% Mask to find the black part on the left.
threshold = 5; % Find pixels darker than this.
mask = (grayImage <= threshold);
% Display the image.
subplot(2, 2, 2);
% imhist(grayImage);
imshow(mask, []);
axis('on', 'image');
title('Mask Image', 'FontSize', fontSize, 'Interpreter', 'None');
drawnow;
% Find columns that are all zeros
columnsToTurnWhite = all(mask, 1);
% Find rows that are all zeros
rowsToTurnWhite = all(mask, 2);
mask = false(rows, columns); % Erase everything.
% Now turn those rows and columns true (white).
mask(:, columnsToTurnWhite) = true;
mask(rowsToTurnWhite, :) = true;
% Display the image.
subplot(2, 2, 3);
imshow(mask, []);
axis('on', 'image');
title('Mask Image', 'FontSize', fontSize, 'Interpreter', 'None');
drawnow;
% Make the rgb image white there
grayImage(mask) = 255;
subplot(2, 2, 4);
imshow(grayImage, []);
axis('on', 'image');
title('Final Image', 'FontSize', fontSize, 'Interpreter', 'None');
fprintf('Done running %s.m ...\n', mfilename);
but notice that there is still a black band there. This is because you used JPG format for your image - a very bad idea. Because JPEG is a lossy image compression format, there are actually some pixels that are not pure zero in some of the dark columns. A good illustration for why you never want to use JPG format. Use PNG instead. To fix, raise the threshold to 25 on line 54.
threshold = 25; % Find pixels darker than this.
That code is attached. Note that the code works for both vertical and horizontal black bands that you want to turn white.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!