The image is from a leaf, I want to find the discontinuous points ,which is because of the bugbite. How can I find these points as fast as I can?
Ältere Kommentare anzeigen

5 Kommentare
Image Analyst
am 9 Dez. 2018
Where are the discontinuities?
yinghui zhu
am 11 Dez. 2018
yinghui zhu
am 11 Dez. 2018
Mark Sherstan
am 13 Dez. 2018
Analyze the x and y values you plotted instead of using image processing.If you want to use image processing post the original image.
yinghui zhu
am 13 Dez. 2018
Antworten (2)
Image Analyst
am 13 Dez. 2018
0 Stimmen
You can take the convex hull of the image. Then subtract (use xor function) the initial leaf mask. The difference could be where the bugs have eaten away, assuming the leaves are convex. If you don't know how, then post your original image and the code you used to segment it to a binary image mask.
Image Analyst
am 13 Dez. 2018
0 Stimmen
Try the attached script. At least it's a start. Adapt as needed.


2 Kommentare
yinghui zhu
am 13 Dez. 2018
Image Analyst
am 14 Dez. 2018
I don't know what that is but the algorithm doesn't know if a little incursion/notch in the outline is normal or due to being eaten by an insect. There is no expert knowledge programmed into this simple algorithm.
I suggest you employ the expert knowledge of your user and have them use ginput() to click on regions that you want to remove because they're normal and not an eaten region. Something like
(x, y) = ginput(1); % User clicks on blob to remove.
row = round(y);
column = round(x);
blobLabel = labeledImage(row, column) % Find ID # of blob.
labeledImage(labeledImage == blobLabel) = 0; % Erase that blob.
You can put this into a loop where you ask the user if they need to remove a blob, or accept all existing blobs and continue onwards.
Kategorien
Mehr zu Agriculture finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


