Help with Image Processing code

14 vues (au cours des 30 derniers jours)
BERG
BERG le 21 Avr 2020
Commenté : BERG le 7 Mai 2020
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
Mrutyunjaya Hiremath
Mrutyunjaya Hiremath le 26 Avr 2020
Hello BERG,
Are you expecting something like this?
BERG
BERG le 28 Avr 2020
Hello thanks it's something like that can i know How you have done it ? I tried to have the same Image but it has not worked

Connectez-vous pour commenter.

Réponse acceptée

Mrutyunjaya Hiremath
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
BERG
BERG le 28 Avr 2020
ok many thanks after i come back i will try it again
BERG
BERG le 7 Mai 2020
Hello i'm here again i did not ask you last time first thks you for your help i tried and it worked i just have a question how does the attached mask.bmp help me?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Computer Vision with Simulink 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!

Translated by