途中経過発表⑤
途中結果発表はこれで最後です。
再生用のバイナリデータについて説明します。
どうやって作るのカー。
こうやって作るのダー。
①動画ファイルからBMP画像を抜き出す。
②抜き出したBMP画像をリサイズ,トリミング処理する。
できたファイルをSDカードにコピーすれば完了です。
以下、詳細説明をします。
①動画ファイルからBMP画像を抜き出す
動画ファイルから1fpsに付き1枚のBMPファイルを抜き出します。
私はこちらのソフトを使っています。
様々な動画形式に対応している上、フレーム数を選択できるという
まさにうってつけのソフトです。感謝。
変換を開始しても、進行状況が画面に現れない為いつ終わるか分からないのが玉にキズですが
気長に待っていると「コン!」という軽快な音で、処理の完了を知らせてくれます。
②抜き出したBMP画像をリサイズ,トリミング処理する。
抜き出したBMPファイルは大概、640×400などのサイズで目的とする400*96よりも大きいです。
よって、いい感じの部分を抜き出す為に、リサイズやトリミングを行う必要があります。
もしbmp画像が24bitカラーで無い場合、減色で24bitカラーに変更して下さい。
この処理はこちらのソフトを使っています。
本来は画像ビューワなのですが、超高機能な画像編集もできます。
ビューワとしても軽快な超お勧めの神ソフトです。もう10年くらい使っています。
②までの処理で400*96*24bitカラーのBMP画像がゲットできました。
次にこのファイルを加工します。
1.BMPの情報ヘッダ部分は冗長なのでカット。
1.はそのままです。
2.は24bitカラーのBMP画像はMSBから
[ R7 R6 R5 R4 R3 R2 R1 R0,G7 G6 G5 G4 G3 G2 G1 G0,B7 B6 B5 B4 B3 B2 B1 B0] と並んでいるので
下記に変換されます。
○16bitカラー(RGB565)
MSBから[R4 R3 R2 R1 R0 G5 G4 G3 , G2 G1 G0 B4 B3 B2 B1 B0]
下記に変換されます。
○16bitカラー(RGB565)
MSBから[R4 R3 R2 R1 R0 G5 G4 G3 , G2 G1 G0 B4 B3 B2 B1 B0]
1pixel = 2バイト。
(リトルエンディアン)
(リトルエンディアン)
そのまま転送すると画像が上下ひっくり返ります。
これはさすがに、ネット上にアプリケーションが無かった為自作しました。
そのまんまのネーミングですね。
実行ボタンを押すと、出力先フォルダに一個のバイナリファイルを落とします。
これがLCD用データとなります。
このソフトは下記日記にて公開しました
以上です。
よし!これだけ情報を残しておけば、駄目駄目になっても後で戻ってこれるね!