Why running same code on the same image gives different result every time?

2 ビュー (過去 30 日間)
Tian Tian
Tian Tian 2017 年 8 月 30 日
コメント済み: Steven Lord 2017 年 8 月 30 日
Hi, I am running a watershed segmentation on one image, but I found it gave me different result every time when I ran the same code on the same image. Can anyone help me? Thank you.

回答 (1 件)

John D'Errico
John D'Errico 2017 年 8 月 30 日
Whenever this happens, it means that some piece of the algorithm involved probably required starting values, usually for a search of some kind. In that case, a random starting point is probably generated, ergo you will get potentially a slightly different result based on where the search originated. Not all such searches will always end in the same solution, if multiple solutions exist. Or the solution might be subtly different, but still within tolerances that were deemed acceptable.
While I don't claim to have looked up the specifics of the algorithm involved, I have no doubt that a varying result is due to a random start somewhere inside that algorithm.
  5 件のコメント
Adam
Adam 2017 年 8 月 30 日
編集済み: Adam 2017 年 8 月 30 日
rand('seed',0)
is not a syntax I can see documented for my Matlab (R2017a). I assume it is old syntax prior to the 'rng' function. However, it does appear to cause random numbers to be produced from the same seed each time. What happens after that though I have no idea because the code is unreadable.
Steven Lord
Steven Lord 2017 年 8 月 30 日
Stop using the syntax rand('seed', 0). Use the rng function instead.

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

カテゴリ

Help Center および File ExchangeImage Segmentation and Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by