
How to get those object and turn background color into white of the binary image?
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
@Lay_Wawan
le 13 Sep 2015
Commenté : @Lay_Wawan
le 13 Sep 2015
Sir i have an image and i mark up with red line. how do i get those object also turn the background into white. so the goal is an image with only 6 object and a pure white background color.
sorry, i hope my english is understandable.

0 commentaires
Réponse acceptée
Image Analyst
le 13 Sep 2015
Try this:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 20;
% Check that user has the Image Processing Toolbox installed.
hasIPT = license('test', 'image_toolbox');
if ~hasIPT
% User does not have the toolbox installed.
message = sprintf('Sorry, but you do not seem to have the Image Processing Toolbox.\nDo you want to try to continue anyway?');
reply = questdlg(message, 'Toolbox missing', 'Yes', 'No', 'Yes');
if strcmpi(reply, 'No')
% User said No, so exit.
return;
end
end
% Read in a demo image.
folder = pwd % or wherever the image lives
baseFileName = 'batik22.PNG';
%===============================================================================
% Read in a color reference image.
% Get the full filename, with path prepended.
fullFileName = fullfile(folder, baseFileName);
if ~exist(fullFileName, 'file')
% 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.', fullFileName);
uiwait(warndlg(errorMessage));
return;
end
end
rgbImage = imread(fullFileName);
% Get the dimensions of the image. numberOfColorBands should be = 3.
[rows, columns, numberOfColorBands] = size(rgbImage);
% Display the original color image.
subplot(2, 2, 1);
imshow(rgbImage);
title('Original Color Image', 'FontSize', fontSize, 'Interpreter', 'None');
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'Outerposition', [0, 0, 1, 1]);
% Take the red channel
grayImage = rgbImage(:,:, 1);
subplot(2, 2, 2);
imshow(grayImage);
axis on;
title('Red Channel Image', 'FontSize', fontSize, 'Interpreter', 'None');
% Threshold the image
binaryImage = grayImage < 127;
subplot(2, 2, 3);
imshow(binaryImage, []);
title('Binary Image', 'FontSize', fontSize, 'Interpreter', 'None');
% Take the 8 largest blobs, then invert the image
binaryImage = ~bwareafilt(binaryImage, 8);
subplot(2, 2, 4);
imshow(binaryImage, []);
caption = sprintf('Final Binary Image with 8 largest blobs');
title(caption, 'FontSize', fontSize, 'Interpreter', 'None');

Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!