ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

2020-09-01から1ヶ月間の記事一覧

【Processing】六角形の七宝模様を作る。

成果物 六角形(三角形)にすることでぐっと緻密になりました。六角形を描く時にもよく使います。 仕組み 六角形になると並べるのが急に大変になるので、少しでも楽にするために、列ごとに並べるようにしました。 普通の七宝模様についてはこちらをご覧くだ…

【Processing】七宝模様を作る。

成果物 ネタもなくなってきたのでしばらく模様シリーズを続ける予定です。ということで、今回は、七宝模様を作ってみました。 仕組み 四分の一の円弧を二つセットにして、一パーツを作り、それを並べています。ちなみに、P3Dを使うと境目が目立たなくなるの…

【Processing】FFTの最大スペクトルのみをSin波で表現する。

成果物 www.youtube.com どの音が最もよく出ているのかを調べると、波形の特徴がわかりやすいのではということで作ってみました。予想どおり、鉄琴ははっきり同じ周波数が現れました。また、人間の声は鉄琴よりも断然低いという結果がわかりました。周囲のノ…

【C#】入力を邪魔しないオーバーレイ、ハードウェアオーバーレイの紹介

C#

概要 Comment Screenのようなことを実現しようと思ったとき、文字の下の文字がクリック出来なくなってしまっては困ります。そんな時に活躍するのがハードウェアオーバーレイです。画面に好きなように配置でき、透明度も思いのままに設置できます。ちなみに、…

【Processing】2Dのヒストグラムを作る

成果物 今回は、色相と彩度を示した2Dのヒストグラムを作ってみました。 仕組み 前回のコードを改良し、色相の段階数X彩度の段階数の2Dの配列でカウントしています。 nekodigi.hatenablog.com コード Histogram 2Dという名前で追加しています。 github.com

【Processing】画像のヒストグラムを表示する

成果物 2Dのヒストグラムを作ってみたいと思ったので、その足掛けとして画像のヒストグラムを作ってみました。ここではRGBのヒストグラムを表示していますが、他にも、明るさ、彩度などのヒストグラムも作ることができます。 仕組み 色の段階数と同じ256の配…

【Processing】モルフォロジー変換で、画像の膨張、収縮、輪郭の取得を行う。

成果物 今回は、任意の太さの輪郭の取得が可能なモルフォロジー変換をやってみました。非常にシンプルです。 仕組み 収縮させたいときは、フィルタの範囲が全ての白の時のみ白にし、膨張させたいときは、フィルタの範囲がすべて黒の時に黒にするという仕組み…

【C#】マウス入力の受信と、送信を行うHookを作る。

C#

成果物 www.youtube.com 今回は、前回のキーボードに加え、マウスのHookも作ってみました。左クリックした時に座標を記録し、左コントロールキーでドラックアンドドロップを行えるようにしてみました。 詳細 キーボードのフックについては前回記事をご覧くだ…

【C#】キーボード入力の受信と、送信を行うHookを作る。

C#

成果物 今回は、シンプルなHookを作ってみました。これを使って、どんなキーがよくつかわれるのか、統計を取ってみたいと思います。 詳細 今回は、こちらのサイトを参考にキーボード入力の受信を行い。 www.codeproject.com こちらのサイトを参考に送信を行…

【Processing】ラプラシアンブレンドを任意の形にかけられるようにする。

成果物 www.youtube.com 今回は、前回のラプラシアンブレンドを応用して、任意の形にかけられるようにしました。画像サイズの半分の高精細なマスクをかけられるようにしたところが特徴です。非常にうまくいったよかったです。 仕組み 前回は、画像の真ん中で…

【Processing】ラプラシアンブレンドを使って、画像を滑らかで違和感なく合成する。

成果物 普通にぼかして合成したのでは再現できないような、境界部の鮮明さが特徴的です。ただくっつけただけのようにも見えるかもしれませんが、違和感がない部分はしっかりぼかされていることがわかります。 仕組み 前回実装したimage pyramidを使うことで…

【Processing】ガウシアンピラミッド、ラプラシアンピラミッドを実装する。

成果物 www.youtube.com ラプラシアンブレンドをするために、ガウシアンピラミッド、ラプラシアンピラミッドを実装してみました。ガウシアンピラミッドはシンプルにぼかしという感じですが、ラプラシアンピラミッドは、階層が深くなるごとに、強調される情報…

【Processing】似た色をまとめて塗りつぶす、Flood fillを実装する

成果物 バケツアイコンで有名な塗りつぶしを実装してみました。ただ実装しただけでは面白くないので、どのぐらいの許容範囲で塗りつぶすか選べるようにしました。再帰呼び出しが出来なくて焦りましたが、Queueを使うことで解決しました。 仕組み 対象のピク…

【Processing】平均値や中央値を使い、特徴を捉えた二値化を高速で行う。

成果物 平均値 普通に二値化を行うと、画像の明度のバラツキに左右されてしまうのですが、近隣のマスの平均値より大きいかで二値化を行うことで、こんなにもきれいに二値化を行うことができます。 中央値 肉眼では分かりにくい筆跡もきちんととらえられてい…

【Processing】中央値フィルタで色味を保ったままノイズを軽減する。

成果物 OpenCVのチュートリアルを見ていると非常に面白いフィルタを見つけたので実装してみました。ノイズが見事になくなり、元の色味がしっかり取り出せていることがわかります。そのままでも面白いぼかしがかけられるので今後も活用していきたいです。 仕…

【Processing】第一宇宙速度、第二宇宙速度を求める。

成果物 ※単純に回っているわけではなく、物理法則に基づいて動いています。 第一宇宙速度を聞いたことはあったのですが実感がわかなかったので、実装してみました。 仕組み 必要な速度はこちらの数式をもとに求めることができます。 コード Escape velocity…

【Processing】閉管 開管から出る音を再現する

成果物 www.youtube.com 今回は、管を吹いたときに出る音を再現してみました。倍音を加えるととても深みのある音になって面白かったです。ちなみに、音の大きさは1/fになるようにしています。 仕組み この数式をもとにしてsin波を発生させれば完成です。 コ…

【Processing】ドップラー効果を再現する。

成果物 www.youtube.com 今回は、ドップラー効果に従って曲のピッチを変えてみました。マウスだと速度がころころ変わるのでいまいち感じ取ることが難しいですが、きちんとドップラー効果が表れています。 仕組み こちらで紹介されているこの数式を使うと、速…

【Processing】三つ編みを表現する

成果物 今回は、三つ編みを再現してみました。本物の三つ編みのように紐の重なり合いも表現できますが、複雑になり汎用性が欠けるので、BlendMode(ADD)を使って近似的に表現する方法も追加しています。 パスに沿った模様など、美しい曲線を必要とする場面で…

【Processing】スネルの窓を実装する。

成果物 どのように実装するか非常に悩んだのですが、何とか実装しました。全天球の半分を移すような数式を考えました。ただ、説明しきれない部分があり、合っている保証は出来ないので、あくまでお楽しみ程度です。 仕組み スネルの法則に従って、反射後のsi…