Effacer les filtres
Effacer les filtres

How to fill the image of the bottle with black color?

1 vue (au cours des 30 derniers jours)
Bella
Bella le 23 Jan 2017
Modifié(e) : Bella le 24 Jan 2017
Hi,
I want to fill the image of the bottle with black color. I need to modify my coding. Need help from someone.
clear;close all;
% Load image
I=imread('C:\Users\Nabilah Syazana\Desktop\Reference\Reference Image\Ref_Red.jpg');
%Threshold & Segment image
BW=adaptivethreshold(I,50,0.06,0);
figure; imshow(I);
figure; imshow(BW);
% Calculate Area, Perimente, Extent, Major Axis and Minor Axis
Measurements = regionprops(BW, 'Area', 'Perimeter', 'Extent', 'MajorAxisLength', 'MinorAxisLength');
Area1 = [Measurements.Area];
Perimeter1 = [Measurements.Perimeter]
Area = sum(Area1)
Perimeter = sum(Perimeter1)
function bw=adaptivethreshold(IM,ws,C,tm)
%ADAPTIVETHRESHOLD An adaptive thresholding algorithm that seperates the
%foreground from the background with nonuniform illumination.
% bw=adaptivethreshold(IM,ws,C) outputs a binary image bw with the local
% threshold mean-C or median-C to the image IM.
% ws is the local window size.
% tm is 0 or 1, a switch between mean and median. tm=0 mean(default); tm=1 median.
if (nargin<3)
error('You must provide the image IM, the window size ws, and C.');
elseif (nargin==3)
tm=0;
elseif (tm~=0 && tm~=1)
error('tm must be 0 or 1.');
end
IM=mat2gray(IM);
if tm==0
mIM=imfilter(IM,fspecial('average',ws),'replicate');
else
mIM=medfilt2(IM,[ws ws]);
end
sIM=mIM-IM-C;
bw=im2bw(sIM,0);
bw=imcomplement(bw);
Below is my sample image
  1 commentaire
abuzer
abuzer le 23 Jan 2017
Firstof all you can try strel function for closing area than delete upside of bottle with area threshold than use imfill.ı hopeit helps

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 23 Jan 2017
Try the attached file.
  1 commentaire
Bella
Bella le 24 Jan 2017
Modifié(e) : Bella le 24 Jan 2017
Thanks for helping me. I got it! :)

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 23 Jan 2017
Did you try varying the windowsize and C value?
  1 commentaire
Bella
Bella le 24 Jan 2017
not yet. I don't know how to do it.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by