95918


マンデルブロ集合を使った画像生成システムを作るにあたって、図中の拡大箇所を自動で検出してくれるような機能を付けたいと思っています。  
その際に、出力される画像を出来るだけ複雑な図柄にするために、マンデルブロ集合内の自己相似点を自動検出してそこを拡大していくようなアルゴリズムを考えているのですが、その具体的なコードが思い浮かびません…。  
自分は数学がてんでダメなもので、言語は問いませんのでなるべくコードとして具体例をご教授いただけますと助かります。

マンデルブロ集合の描画、拡大、カラーリングなどに関しては調べたらいくらでもコード例はあるのですが、  
「拡大箇所を自動検出する」となるとMisiurewicz points、Feigenbaum
pointsのような数式を理解してコードに落とし込むしかないのか…と苦戦してます


CC BY-SA 4.0
2023-07-28T07:05:17.137
95788
2023-08-11T05:45:26.617
2023-07-28T09:35:36.397
19110
59289
question
アルゴリズム
マンデルブロ集合の自己相似点を自動検出していい感じの画像を生成したい


失礼しました。  
私の知る範囲で、可能性のある方法を記載いたします。  
「２次元データの画像から、自己相似点を検出する」には、次のふたつの方法が考えられます。

(1)機械学習（テンプレートマッチング）を利用する  
OpenCVに利用できそうな機能がありました。  
<https://shikaku-mafia.com/opencv-template-match/>  
OpenCVおよびnumpyは、以下のコマンドでインストールできます。

[code]

    pip3 install opencv-python
    pip3 install numpy
    
[/code]

上記でエラーが発生する場合は、  
<https://www.kkaneko.jp/tools/ubuntu/opencv.html>  
OpenCVそのもののインストールが必要かもしれません。（←あいまいな記憶ですいません。）

このリンク先のコードを実行した結果を添付します。  
(threshold = 0.3に変更しました。元のフラクタル画像を、25%縮小&トリミングしたものをテンプレート画像として指定しました。)  
[![画像の説明をここに入力](https://i.stack.imgur.com/L7Qa1.png)](https://i.stack.imgur.com/L7Qa1.png)

(2)総当たりで比較する  
「２次元データの画像から、自己相似点を検出する」方法として、総当たりで比較します。  
２次元データ(元となるマンデルブロ集合の画像)から、  
サイズ(高さ、幅)、位置（x、y）、さらには回転角を、変更し、  
元となる画像から一部の画像を抽出し、自己相似点があるか判定します。  
そのときの判定方法に、自己相関や自己相似のアルゴリズムが適用できる可能性があります。  
総当たりは処理時間がかかるため、画像サイズを荒くする、回転は考慮しないなどの、工夫を別途必要とします。

//////  
まずは、１次元データで、相関係数を調べてみてはいかがでしょうか？  
<https://data-viz-lab.com/correlation-coefficient>

理解できれば、２次元データへも適用/応用できることも理解できると思います。  
scikit-learnにも、自己相関を算出するメソッドが含まれているので、利用してみるとよいでしょう。


CC BY-SA 4.0
2023-08-02T16:02:18.280
95830
2023-08-06T11:11:46.297
2023-08-06T11:11:46.297
35267
35267
95788
answer


<https://qiita.com/satouta310ta/questions/e086a18e8f7e74c7898d>  
こちらにて自分の求める解決策に至りましたので閉めさせていただきます。ご解答にご協力いただきありがとうございました。


CC BY-SA 4.0
2023-08-11T05:45:26.617
95918
2023-08-11T05:45:26.617
59289
95788
answer