black task processing in an image
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
dakhli mohamed
il 7 Mar 2019
Commentato: Image Analyst
il 8 Mar 2019
Hello
I have a problem with the image display level, the problem is that I have black spots in the white part and I want to eliminate them
attaching the resulting image and the .mat file
thank you in advance![ask.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/207321/ask.jpeg)
![ask.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/207321/ask.jpeg)
0 Commenti
Risposta accettata
Image Analyst
il 7 Mar 2019
Threshold the image and then call imfill()
binaryImage = grayImage > someValue;
binaryImage = imfill(binaryImage, 'holes');
If you want only holes of a certain diameter filled, then it's a little trickier, so write back.
5 Commenti
Image Analyst
il 8 Mar 2019
Then try this, if you want all black holes filled to white:
s = load('outputt.mat')
u = logical(s.u);
subplot(2, 1, 1);
imshow(u, 'InitialMagnification', 200);
axis('on', 'image');
% Fill in everything.
[rows, columns] = find(u);
boundaryIndexes = boundary(columns, rows);
hold on;
plot(columns(boundaryIndexes), rows(boundaryIndexes), 'r-', 'LineWidth', 2);
newImage = poly2mask(columns(boundaryIndexes), rows(boundaryIndexes), size(u, 1), size(u, 2));
subplot(2, 1, 2);
imshow(newImage, 'InitialMagnification', 200);
axis('on', 'image');
![0000 Screenshot.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/207444/0000%20Screenshot.png)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Image Processing and Computer Vision in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!