are you still there? Perhaps you're still struggling over this so I made a complete and fancy demo for you. Here it is:
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 = 25; %=============================================================================== % Get the name of the image the user wants to use. baseFileName = 'concrete_inverted.png'; % Get the full filename, with path prepended. folder = []; % Determine where demo folder is (works with all versions). fullFileName = fullfile(folder, baseFileName); %=============================================================================== % Read in a demo image. grayImage = imread(fullFileName); % Get the dimensions of the image. % numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image. [rows, columns, numberOfColorChannels] = size(grayImage) if numberOfColorChannels > 1 % It's not really gray scale like we expected - it's color. % Use weighted sum of ALL channels to create a gray scale image. grayImage = rgb2gray(grayImage); % ALTERNATE METHOD: Convert it to gray scale by taking only the green channel, % which in a typical snapshot will be the least noisy channel. % grayImage = grayImage(:, :, 2); % Take green channel. end % Display the image. subplot(2, 2, 1); imshow(grayImage, []); axis on; axis image; caption = sprintf('Original Gray Scale Image'); title(caption, 'FontSize', fontSize, 'Interpreter', 'None'); drawnow; hp = impixelinfo(); % Set up figure properties: % Enlarge figure to full screen. set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]); % 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. set(gcf, 'Name', 'Demo by ImageAnalyst', 'NumberTitle', 'Off') drawnow; % Binarize the image by thresholding. mask = grayImage > 128; % For some reason, the top two lines of his image are all white. Blacken those 2 lines: mask(1:2, :) = false; % Display the mask image. subplot(2, 2, 2); imshow(mask); axis on; axis image; % Make sure image is not artificially stretched because of screen's aspect ratio. title('Binary Image Mask', 'fontSize', fontSize); drawnow; % Get rid of small blobs. mask = bwareaopen(mask, 500); % Label the image. labeledImage = bwlabel(mask); % Find the areas and perimeters props = regionprops(labeledImage, 'Area', 'Perimeter'); allAreas = [props.Area]; sortedAreas = sort(allAreas, 'descend') allPerimeters = [props.Perimeter]; % Compute circularities circularities = allPerimeters .^ 2 ./ (4 * pi * allAreas) sortedC = sort(circularities, 'descend') % Keep conly blobs that are nowhere close to circular or compact. minAllowableCircularity = 10; keeperIndexes = find(circularities >= minAllowableCircularity); mask = ismember(labeledImage, keeperIndexes); % Display the mask image. subplot(2, 2, 3); imshow(mask); axis on; axis image; % Make sure image is not artificially stretched because of screen's aspect ratio. title('Intermediate Cleaned Mask', 'FontSize', fontSize); drawnow; % Get rid of black islands (holes) in struts without filling large black areas. subplot(2, 2, 4); mask = ~bwareaopen(~mask, 1000); imshow(mask); axis on; axis image; % Make sure image is not artificially stretched because of screen's aspect ratio. title('Final Cleaned Mask', 'FontSize', fontSize); drawnow;
Matlabsolutions.com provides guaranteed satisfaction with a commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been empanelled after extensive research and quality check.
Matlabsolutions.com provides undivided attention to each Matlab assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work done at the best price in industry.