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

1 visualización (últimos 30 días)
DhaniAri
DhaniAri el 1 de Oct. de 2018
Respondida: Image Analyst el 17 de Dic. de 2020
%%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-

Respuesta aceptada

ANKUR KUMAR
ANKUR KUMAR el 1 de Oct. de 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 comentarios
ANKUR KUMAR
ANKUR KUMAR el 1 de Oct. de 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);

Iniciar sesión para comentar.

Más respuestas (2)

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

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 17 de Dic. de 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.

Categorías

Más información sobre Convert Image Type en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by