Wolfram Mathematicaでイラスト画像を線画抽出してみた（数式化）

#はじめに
皆さん、Wolframってる？
というわけでロボカッケー皆さんコンバトラー†[□ □]■━
私は王国騎士ロボットVTuberのKoshiだ🗡💥 (@Koshi_VTuber)

今回は、Wolfram Mathematicaで画像を線画抽出してみただけだ。（発見、備忘録）

##環境
Windows 10 Home
Wolfram Mathematica 12

##1. 画像を用意する
線画（線ばかりで描いた絵）が望ましい。
今回は**私**をお借りさせていただいた。（すべり）
![koshi_face.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362315/b7a95dfe-e5f8-a567-60cd-270b286b6944.png)



##2. ソースコードを用意する
お借りしたソースコード
Githubのaomoriringoさんのソースコードを利用させてもらいました。
任意画像の輪郭を数式に変換してプロットする (Mathematica ver.8)
https://gist.github.com/aomoriringo/7706985

##3. 実行する
Mathematica 12を起動する
新規ドキュメントを開く
ソースコードを貼り付ける
imageURLに画像パスを入力するだけ
Shift + Enter で実行する

>imageURL="";

すごい（小並感）
せっかくなので画像を保存する。

<img width="587" alt="スクリーンショット 2019-10-28 12.49.17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362315/2d2748a5-83fd-2783-03ee-40f95d3b8f5a.png">

##4. 画像の変換過程
画像の変換過程を出力することができる。
続けて、こちらのコードを記述する

```
Partition[Table[paraplot[n], {n, 1, 12}], 4] // GraphicsGrid
```

###出力結果
![n=1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362315/99fb8c73-a9ea-bdd4-7a9d-625bf8ccfc92.png)

![名称未設定-1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362315/b14e3cdf-7ba0-32fa-ff3b-728665b3725a.gif)



##5. 数式化
続けて、こちらのコードを記述する

```
curves = makeFourierSeries[#, t, 200] & /@ fCs;
Style[Map[Short, Rationalize[curves, 0.002]], 16] // TraditionalForm
```

出力結果（数式化）

```
{{(5053 cos(t))/53+693/19 cos(2 t)+421/19 cos(3 t)+<<612>>+1/157 sin(200 t)+3864/19,<<1>>},{-((2115 cos(t))/19)+1720/37 cos(2 t)+626/17 cos(3 t)+<<588>>+18466/27,(801 <<1>>)/17+<<575>>},{-((3734 cos(t))/23)+<<586>>+1/181 sin(200 t)+5351/10,<<1>>},{-((482 cos(t))/9)-289/29 cos(2 t)-2131/16 cos(3 t)+<<609>>+9481/16,<<1>>},{(437 cos(t))/10-586/17 cos(2 t)+415/19 cos(3 t)+<<602>>+1/12 sin(199 t)-1/28 sin(200 t)+4357/22,<<1>>},{-((707 cos(t))/19)+319/20 cos(2 t)+93/43 cos(3 t)+<<571>>+21691/24,(487 <<1>>)/10+<<608>>},{<<566>>+3322/7,-((2521 cos(t))/27)+<<579>>+1/95 sin(200 t)-6353/24},{(651 cos(t))/11-10/23 cos(2 t)-143/14 cos(3 t)+<<592>>+1/44 sin(200 t)+7698/25,<<1>>/25+<<581>>},{-((148 cos(t))/25)-349/20 cos(2 t)+<<588>>+21068/25,<<1>>},{<<578>>+1/172 sin(200 t)+28448/53,(661 cos(t))/31-89/48 cos(2 t)+<<593>>+1/27 sin(200 t)-7891/16},{<<583>>+43192/47,(1457 cos(t))/20-277/11 cos(2 t)-32/9 cos(3 t)+<<595>>},{(2139 cos(t))/14+<<569>>+12314/23,(6 cos(t))/31+4094/53 cos(2 t)+<<576>>},{-((1372 cos(t))/11)+573/5 cos(2 t)-866/33 cos(3 t)+<<606>>+6146/15,<<1>>},{(775 cos(t))/33-3/2 cos(2 t)-231/37 cos(3 t)+<<414>>+9103/17,<<1>>},{-((345 cos(t))/37)+101/7 cos(2 t)+<<576>>+1/35 sin(199 t)+1/73 sin(200 t)+33183/34,<<1>>/3+<<610>>},{(306 cos(t))/11+31/20 cos(2 t)-141/10 cos(3 t)+<<524>>+1/266 sin(200 t)+15803/21,<<1>>},{-((986 cos(t))/31)-861/16 cos(2 t)+<<565>>+6383/18,<<1>>},{-((877 cos(t))/33)-904/27 cos(2 t)+361/17 cos(3 t)+<<562>>+15307/22,-((226 <<1>>)/11)+<<535>>},{<<517>>+1/247 sin(<<1>>)+1/231 sin(200 t)+31703/40,-((7253 cos(t))/117)+<<547>>},{<<390>>+1/340 sin(147 t)+1/494 sin(152 t)+1003/12,-((1079 cos(t))/28)+1267/27 <<1>>+<<467>>},{<<372>>+1/474 sin(194 t)+8831/14,-((3608 cos(t))/79)-229/16 cos(2 t)+<<519>>},{-((113 cos(t))/9)-7 cos(2 t)+<<301>>+1/457 sin(121 t)+4726/5,<<1>>},{-((29 cos(t))/12)+57/10 cos(2 t)+<<231>>+1/382 sin(77 t)-1/367 sin(85 t)+4349/11,<<1>>},{-((107 cos(t))/22)+132/23 cos(2 t)+32/27 cos(3 t)+<<175>>+1/456 sin(88 t)+1/481 sin(89 t)+1747/15,<<1>>},{-((9 cos(t))/19)+17/11 cos(2 t)-173/14 cos(3 t)+<<225>>+1/494 sin(110 t)+15960/23,<<1>>/7+<<375>>},{<<247>>+9017/24,-((499 cos(t))/33)+346/19 cos(2 t)+<<347>>+1/492 sin(147 t)-9329/16},{-((350 cos(t))/17)+22/3 cos(2 t)+132/25 cos(3 t)+<<217>>+1/387 sin(30 t)+1/453 sin(36 t)+3409/9,<<1>>},{<<330>>+1/491 sin(<<1>>)+1/440 sin(115 t)+109983/127,(389 cos(t))/37+<<312>>},{<<177>>+3680/13,-((306 cos(t))/11)+481/35 cos(2 t)+102/19 cos(3 t)+<<242>>}}

```




##最後に、
コードを理解して改変したら、もっと面白くなりそう

以上、Unityゲーム王国騎士ロボットVTuber Koshiがお送りしました！

†■━ †■━ †■━ †■━ †■━ †■━ †■━ 
もし、この記事が役に立ったら、
「<font color="deepskyblue">**いいね**</font>」「<font color="#0068b7">**ストック**</font>」
押してね🗡💗

私のステータスだ⚔共にこの世界を救おう
Twitter⚔ twitter.com/Koshi_Vtuber
YouTube⚔  t.co/I9eMMgpS8P?amp=1
niconico⚔ nicovideo.jp/user/90553212
bilibili⚔ space.bilibili.com/476988586
公式HP⚔ koshi-4092b.firebaseapp.com



###参考
Mathematicaで任意画像の輪郭を数式に変換する
https://aomoriringo.hateblo.jp/entry/2013/11/30/074758