Ffmpegで一枚の画像を静止動画に変換する動画を作るときに、高機能なソフトがあれば困らないでしょうが、無ければ、ffmpegは有効な物になります。ここで、ffmpegを使って、一枚の画像を静止動画に変換する方法を紹介します。\outmovie.mp4全部の引数が必要なわけではありませんが、設定しないと一緒にしてほしい動画と合成できない場合があります。一枚で繰り返すと指定する。画像のエンコード方を指定する。音声のエンコード方を指定する。三十分の長さを指定する。出力動画の寸法を指定する。出力動画の画素フォーマットを指定する。ちなみに、二本の動画をつなげたい場合は動画生成のパラメータが違ったりしますと、エラーが出る可能性があります。先頭の一本がちゃんと入って、二本目が入らないなど。Bashスクリプトにトラップを設定することができます。トラップとは、シグナルに対して反応するコマンドの事です。Bashでは一般に下記の方法でスクリプトにトラップを設定します。<シグナル名>(注:同一のtrapに複数のシグナルを同時に指定することもできます。このトラップコマンドに本当にトラップ(罠)が仕掛けられています。この様な場面があります。一時ファイルを何回も作成し、スクリプトが終了する時に一切削除をしたい、では、下記のやり方をしてみましょう。EXITこれがダメなんです。削除されるのは「$TMPFILE3」のみです。原因は、trapを実行する度に現在のフラップコマンドを上書きしてしまいます。簡単な解決法としては、下記のような書き方をすることはできます。EXITしかし、プログラムが大きくなれば、いつ、どこで設定するかを把握しにくくなります。更なる改良が必要です。解決策は下記のようなプログラムを使用するか、類似の方法を使用することになるかと思います。$MULTI_TRAP_TMPDIRfi}上記のコードをあなたのスクリプトの先頭部分に置いて、以降はすべての「trap」を「multitrap」に書き換えれば解決です。ウェブページや画像の存在性をcURLで速くチェックする(PHP)ユーザーに情報を提供したい場合は、できれば、存在している物のみを提示したい場合があります。リンクが沢山はられているとしても、大部分のリンクは使用できないのであれば、ユーザーはこのページが使えないと思い二度と来なくなるかもしれません。画像を表示する場合は、NoPhotoや割れアイコンなどを表示したく無いですね。JavaScriptで判定するのは一つの方法ですが、時に旧バージョンのソフトをカバーするなどの原因でできません。この場合は、cURLは高速な解決法を提供してくれます。ような関数を使用します。以下に定型的な例があります。以下は例を持って説明します。これからチェックされるURL一覧を受け取る。URL毎のハンドルを保存する配列を用意する。平行チェックを統括するハンドルを用意する。URL毎にアクセスハンドルを用意する。アクセスの結果にヘッダーを返さないようにする。アクセスの結果にボディーを返さないようにする。転送量を大きく節約する。この設定はHTTPとHTTPSにHEAD方法を使用させます。アクセスを実行される単独URLのハンドルを平行ハンドルに追加する。存在判定をされたURLの索引値を保存する配列を用意する。全URLに対し、同時アクセスを開始させます。ライブラリーがコールし続けてほしい場合はそうする。活動中且つエラーなしの場合は遣りつづけます。全URLに対し、結果が出るまで続ける。HTTPのステータスコードを取得する。ステータスが200の物のみを記録する。前ハンドルをクローズする。成功にアクセスできたURLのみを取り出す。これからチェックされるURL一覧を受け取る。URL毎のハンドルを保存する配列を用意する。平行チェックを統括するハンドルを用意する。URL毎にアクセスハンドルを用意する。アクセスの結果にヘッダーを返さないようにする。アクセスの結果にボディーを返さないようにする。転送量を大きく節約する。この設定はHTTPとHTTPSにHEAD方法を使用させます。アクセスを実行される単独URLのハンドルを平行ハンドルに追加する。存在判定をされたURLの索引値を保存する配列を用意する。全URLに対し、同時アクセスを開始させます。ライブラリーがコールし続けてほしい場合はそうする。活動中且つエラーなしの場合は遣りつづけます。全URLに対し、結果が出るまで続ける。HTTPのステータスコードを取得する。ステータスが200の物のみを記録する。前ハンドルをクローズする。成功にアクセスできたURLのみを取り出す。$urls_to_check=array("http://chtaiji.x.uniwits.com/cnncl/versn-mx9tr4/upload/header_img/t/l/fl/image.jpg","http://chtaiji.x.uniwits.com/category/%E6%95%99%E5%AE%A4%E6%A1%88%E5%86%85/13/","http://qaon.net/press/wp-content/uploads/2015/09/CannyEdgeInterpolation-297x300.gif","http://qaon.net/press/wp-content/uploads/2015/09/006.canny_edge_detection_nohysteresis_brightened-1024x681.gif",............);$checkResults=check_pages_exist($urls_to_check);print_r($checkResults);?>Programming微分法によるオプティカルフローを試してみました。微分法によるオプティカルフローを試してみました。画像の中の物体が移動すると、一定の方向に沿って移動します。この方向の検出は大変複雑の過程であり、これを簡単化するために、二つの前提条件が設けられました。一つは、移動前と移動後、移動された点の明るさは変わらないことです。一つは、近い点のグループはほぼ同一な移動をします。\)を時点\(t\)の画像\(P\)の、\((x,y)\)座標にある点の明るさとします。分析のため、\(P\)を可微分に考えます。\)の関数になります。テイラー式で\(P\)を展開してみます。ここで、一つ目の前提仮設を使います。Spaceを学んでみました。Spaceを学んでみました。画像を解析する場合において差分法は良くしようされます。差分法は簡単ですが、ノイズに影響され易いです。結局に要るか要らないか、沢山の特徴候補が出てきます。これを軽減するため、ガウススムージングはよく使用されます。単なるガウススムージングでは、ノイズの軽減には有効ですが、あまり消せません。更なる一層のスムージングが必要になります。Spaceは実際に一種のスムージングとして考えられます。一枚の画像のサイズを段々に小さくして行きます。大きい画像は下の層に置かれ、小さい画像は上の層に置かれるように考えますと、ピラミッドのような構想ができます。Space)と言われます。それぞれの層にそれぞれの候補特徴があります。特定の特徴がもし主要特徴であれば、複数の層に渡って、この特徴が保持されると考えられます。ノイズでできた候補特徴は層と層の間のチェックで段々消されます。最後に残る物として、有望な候補特徴のみです。多くの層を作るので、時間掛かると思われますが、そんなに掛からないかもしれません。ピラミッドの上に行けば、画像のサイズは急激に小さくなります。最初の処理に沢山の候補特徴が出てきますが、次の画像層に素早く落とされます。ピラミッドの毎層にも候補特徴が追加されますが、大した数にはなりません。私の実験に、512×512の画像を使用しました。0.43秒で結果が出ます。最初の層に17867個の候補特徴が検出されますが、5階層を経て539個に収まります。実際に実験してみれば分かりますが、やはりチューニングが必要です。パラメータによって、画像別に効果がかなり違う場合があります。実験しながら、いくつかの注意点があることを気づきました。注意点1:画像補間とスムージングのステップにかなり注意が必要です。階層間の画像の内容の相対位置がずれないように確保しなければなりません。なければ、下位階層の画像内容が上位階層に確認できなくなります。注意点2:終了までの特徴候補数は何らかの制限が必要です。なければ、殆どは淘汰されます。ピラミッドは段々に一点に集中します。情報量が小さくなり、全画像が少ない数点にブレンドします。最中的に特徴候補に値しない点が対応しているすべての候補特徴は淘汰されます。最後の一点にカバーされる候補特徴のみが残ります。