Help with Image Processing code
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hello i have the following code that i saw in an example i tried to understand it and apply it to my code but i don't find a solution to my issue if someone can help thanks i want to have the washer at the end
%% image processing detection
clc; % Clear command window.
clear; % Delete all variables.
close all; % Close all figure windows except those created by imtool.
imtool close all; % Close all figure windows created by imtool.
workspace; % Make sure the workspace panel is showing.
%% read an image
I = im2double(imread('washer.png'));
subplot(3,3,1)
imshow(I);
title('Original Image');
%% Step 2: Detect Entire washer
[~,threshold] = edge(I,'sobel');
fudgeFactor = 0.7;
BWs = edge(I,'sobel',threshold * fudgeFactor);
% Display the resulting binary gradient mask.
subplot(3,3,2)
imshow(BWs);
title('Binary Gradient Mask');
%% Step 3: Dilate the Image
se90 = strel('line',3,90);
se0 = strel('line',3,0);
% Display the resulting dilated gradient mask.
BWsdil = imdilate(BWs,[se90 se0]);
subplot(3,3,3)
imshow(BWsdil)
title('Dilated Gradient Mask')
%% Step 4: Fill Interior Gaps
BWdfill = imfill(BWsdil,'holes');
subplot(3,3,4)
imshow(BWdfill)
title('Binary Image with Filled Holes')
%% Step 5: Remove Connected Objects on Border
BWnobord = imclearborder(BWdfill,4);
subplot(3,3,5)
imshow(BWnobord)
title('Cleared Border Image')
%% Step 6: Smooth the Object
seD = strel('disk',1);
BWfinal = imerode(BWnobord,seD);
BWfinal = imerode(BWfinal,seD);
subplot(3,3,6)
imshow(BWfinal)
title('Segmented Image');
%% Step 7: Visualize the Segmentation
subplot(3,3,7)
imshow(labeloverlay(I,BWfinal))
title('Mask Over Original Image')
8 commentaires
Réponse acceptée
Mrutyunjaya Hiremath
le 28 Avr 2020
Hello BERG,
here is code, you code only bit modified .
Use the attached 'mask.bmp' image.
clc; % Clear command window.
clear; % Delete all variables.
close all; % Close all figure windows except those created by imtool.
imtool close all; % Close all figure windows created by imtool.
workspace; % Make sure the workspace panel is showing.
%% read an image
imgOrg = im2double(imread('Tow.png'));
figure, imshow(imgOrg);
title('Original Image');
% ROI Region to avoid unwanted disturbance [170, 145, 300, 235]
imgCrop = imcrop(imgOrg, [170, 145, 300, 235]);
figure, imshow(imgCrop);
level = graythresh(imgCrop);
imgBW = im2bw(imgCrop, level-0.01);
figure, imshow(~imgBW);
% Mask Image - Create according to your Specific Application
imgMask = imread('mask.bmp');
figure, imshow(imgMask);
imgROI = imgMask .* (~imgBW);
figure, imshow(imgROI);
imwrite(imgROI, 'Tow.jpg');
4 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!