フィルターのクリア

Find knee/elbow of a curve

70 ビュー (過去 30 日間)
pasta pontikaki
pasta pontikaki 2019 年 10 月 7 日
回答済み: Image Analyst 2019 年 11 月 27 日
Dear all, i splited my image into sub blocks, i counted the aces of each one and then i stored all them into an array,.
Then i made a histogram, on xx' i have all the values of the aces and on yy' i have the number of "how many time every point is appeared"
image 1 histogram
image 2 histogram
Then i did the cumulative function for all the above points. I try to find the knee/elbow point of this cumulative plot.
I used this code but it didn't wokred well ,then i used this code and i have the below results, which i think are quite good. The red curcle is the knee point
image 1 cumulative func
.
image 2 cumulative func
The result is not good for the first image but works for the second.
Does any one know any other solution to find the knee/elbow of the curve? Any other code to be suggested?
Thank you

回答 (3 件)

Erick Zhou
Erick Zhou 2019 年 11 月 27 日

Image Analyst
Image Analyst 2019 年 11 月 27 日
To find a knee/elbow/kink in a curve, I prefer the triangle threshold method. The way this intuitive method works is to draw a hypoteneuse from the far bottom (lowest point) to the top (highest point) of the signal curve, and draw lines perpendicular to that hypoteneuse until they intersect the signal curve.. Where the perpendicular line is longest is the x value to use. I attach the triangle method.
You can also see the FAQ: How can I find "kinks" in a curve?

darova
darova 2019 年 10 月 7 日
What about imdilate()?
clc,clear
I = imread('nett.jpg');
I1 = im2bw(I);
I2 = imdilate(I1,ones(20));
Z = 1.0*cat(3,I1,I2,I1*0);
imshow(Z)
nett1.png nett11.png
Then just use bwlabel or something to get blobs (or regionprops to find centers)
  1 件のコメント
pasta pontikaki
pasta pontikaki 2019 年 10 月 7 日
編集済み: pasta pontikaki 2019 年 10 月 7 日
i have made one solution for this already.
My professor wants me to make another solution with the elbow curve.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeHistograms についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by