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 = 22; %-------------------------------------------------------------------------------------------------------- % READ IN IMAGE folder = pwd; baseFileName = 'checkerboard.jpg'; % Get the full filename, with path prepended. 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); % 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, []); title('Original Grayscale Image', 'FontSize', fontSize, 'Interpreter', 'None'); impixelinfo; hFig = gcf; hFig.WindowState = 'maximized'; % May not work in earlier versions of MATLAB. drawnow; % Display histogram subplot(2, 2, 2); imhist(grayImage); grid on; title('Histogram of original gray image', 'FontSize', fontSize); %-------------------------------------------------------------------------------------------------------- % SEGMENTATION OF IMAGE binaryImage = grayImage < 40; % Display the image. subplot(2, 2, 3); imshow(binaryImage, []); title('Binary Image', 'FontSize', fontSize, 'Interpreter', 'None'); impixelinfo; % Measure areas labeledImage = bwlabel(binaryImage, 4); props = regionprops(labeledImage, 'Area', 'BoundingBox'); allAreas = [props.Area] bb = vertcat(props.BoundingBox); widths = bb(:, 3); heights = bb(:, 4); aspectRatios = widths ./ heights keepers = find(allAreas' > 80 & aspectRatios > 0.8 & aspectRatios < 1.3); % Get new image with just the squares. binaryImage = ismember(labeledImage, keepers); % Display the image. subplot(2, 2, 4); imshow(binaryImage, []); title('New Binary Image', 'FontSize', fontSize, 'Interpreter', 'None'); impixelinfo; % Measure areas of only hte "good" blobs. labeledImage = bwlabel(binaryImage, 4); props = regionprops(labeledImage, 'Area', 'BoundingBox'); allAreas = [props.Area] meanArea = mean(allAreas)
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.