5
冬のシーズンに向けて氷のようなアバター画像を作成する
冬になり、寒くなり始めます(そして、奇妙なカラフルな帽子が現れ始めます...すぐに)。テーマに合うように、アバターの写真やその他の画像をフリーズさせるコードを書きましょう! 入力 このチャレンジへの提出への入力は、画像(フリーズする画像)と数字(後述のしきい値)である必要があります。 言語でサポートされている方法(引数としてのファイルパスまたはURL、クリップボードからの取得、画像のドラッグアンドドロップなど)およびRGBで色を表現するここにリストされている形式で画像を入力できます(代わりにRGBAをサポート/要求できますが、これは必須ではありません)。 プログラムにハードコーディングすることを除き(コマンドライン引数、STDIN、入力ダイアログなど)、任意の方法で番号を入力することができます(例n=10)。画像にファイルパス/ URLを使用する場合は、この方法でも入力する必要があります。 出力 プログラムは、以下の説明に従って画像を処理し、任意の方法で出力する必要があります(ファイルに出力する、画面に表示する、クリップボードに配置するなど)。 説明 送信では、次の3つの手順で画像を処理する必要があります。nあなたのプログラムが画像とともに入力として受け取った番号を指します。 n各ピクセルのR、G、Bの値を、マンハッタンのnピクセル距離内にあるすべてのピクセルの平均R、G、Bの値に置き換えて、範囲外の座標をすべて無視することにより、入力画像に半径のぼかしを適用します。(つまり、Xの差とYの差の合計がより小さいか等しいすべてのピクセルn。) (注:便利な組み込み関数があるため、上の画像にはガウスぼかしを使用しました。そのため、画像が少し異なって見える場合があります。) 各ピクセルをピクセルの距離内のランダムなピクセルに設定しますn/2(「距離」は前のステップと同じ方法で定義されます)。 これは、画像をループし、各ピクセルをこの範囲内のランダムなピクセルに設定することで行う必要があります。そのため、一部のピクセルが完全に消えたり、一部が重複したりする場合があります。 すべての変更を同時に適用する必要があります。つまり、ピクセルの古い値(ステップ1の後、このステップの前)を使用し、ランダムピクセルに設定した後の新しい値は使用しません。 各ピクセルの「青」RGB値に1.5を乗算し、255(またはピクセルのバンドの最大値)に制限して、切り捨てます。 ルール 言語に組み込まれている画像ライブラリ/画像処理関連の機能を使用できます。ただし、説明に記載されている3つの主要なタスクのいずれかを実行する機能は使用できません。たとえば、blur関数を使用することはできませんが、getPixel関数は問題ありません。 これはcode-golfなので、バイト単位の最短コードが勝ちです!