Undefined function 'imsegkmeans' for input arguments of type 'uint8'.
1 次查看(过去 30 天)
显示 更早的评论
I'm using 2023a version of matlab. I want to use the "'imsegkmeans'" function but I received an error: Undefined function 'imsegkmeans' for input arguments of type 'uint8'.
0 个评论
回答(2 个)
Image Analyst
2023-8-21
I don't like that function anyway. K-means is not what you want to do unless you have a good supply of each class in each image. For example, let's say you have 3 classes: background, healthy leaf, and diseased leaf. What is it going to do when it has only good leaf and background, and no disease pixels? Even though there are 3 classes, it's going to be forced to find 3 classes (if that's what you told it), and it will find 3, when you're hoping it would tell you that there are just two classes (healthy leaf and background).
What you should (or can) do is to use discriminant analysis to find the classes. You build a training set by showing/telling it which pixels belong to each class. You do this over many images to get a good representation of what each class looks like (its centroid and shape or extent). Then you use that trained classifier to grade your unknown test images. NOW it will find each class fairly accurately, and if there is no disease, you'll see that, because there will be no disease pixels found.
See my attached demo.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!