趣味のブログ

アクセスカウンタ

zoom RSS dsPIC30F4013による、BMP画像表示

<<   作成日時 : 2011/01/12 22:44   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0

dsPIC30F4013を使って、グラフィック液晶と、SDカードアクセスができるようになったので、グラフィック画面に、文字表示ではなく、画像表示をしてみることにしました。グラフィック液晶は、モノクロ画像なので、対象とするBMPファイルも、モノクロの128x64の画像のみを対象とします。画像サイズが、液晶表示のサイズにあっていることにより、サイズの変換が必要なく、モノクロであるため、BMPファイルのデータは、1ビットが1ドットに対応しているので非常に簡単になります。

画像Windowsのメディアファイルのフォーマットなどを調べてみたのですが、画像に使うファイルは、BMPファイルが扱いやすいようです。ヘッダーには、画像サイズやビット数などの情報が収められていますが、書籍「LCD&タッチセンサ活用の素」を見ると、BMPファイルをグラフィック液晶に表示するサンプルがありました。それによれば、モノクロで画像サイズが決まっている場合には、ヘッダーの62バイトを読み飛ばすと、画像の左下から右下へ進み、同様に上のラインに進めばよいことが出ていました。1ドットが、1ビットに対応しており、そのまま、グラフィック液晶画面に表示すればよいようです。
グラフィック液晶と、SDカードの両方を使ったプログラムとするために、SDカードに収めたBMPファイルを読み出し、グラフィック画面に表示するプログラムを製作しました。

グラフィック液晶の表示において、グラフィックデータは、縦に8ビットをひとつの単位としていますので、横に1ドットずつ表示していくと、一旦1バイトを読み出し、1ドットを変更して書き戻すことになります。これは、余り効率的ではありませんが、表示できるかどうかの確認には十分です。このように、効率の悪い表示方法を取ると、表示が遅いことが想像されます。

電源を入れると、メッセージが表示されますので、スイッチを押すことで、SDカードの画像を表示します。SDカードに複数の画像が保存されていれば、スイッチを長押しすることで、次のファイルを表示することができます。
想像したように、画像が一瞬で出るというわけには行きませんでした。8ビットまとめて書き込めば1回で済むところを、1ビットごとに、読み出して書き換えを8回行なっています。BMPファイルでは、左下から右下へ横方向にデータが進んで行きますので、8行分読み込んだ上で、縦に8ビットまとめて書き込むようにすれば速くなると思います。そのようにすると、読み出す必要がなくなるので、画面の消去と同じ速度になるはずです。

BMPファイルをパソコンで使っているときには、その中身は分からないでいましたが、マイコンでもSDカードが使えるため、パソコンのファイルなども利用できるようになり、そのフォーマットにも関心が出てきました。モノクロに限定した場合でも、画像サイズは様々なサイズがあると思います。グラフィック液晶の画面サイズと異なるとき、一部を切り出したり、拡大することによって、BMPファイルがもっと利用できると思います。また、カラー画像を、モノクロに変換すると、真っ黒になってしまうことがありますが、特定の色に注目してそれを抜き出すようにすれば、うまく変換できるのではないかと思います。
BMPファイルは、圧縮などをしていないファイルなので、マイコンで扱うにはかえって扱いやすいことになります。
SDカードを扱うことができるようになったことで、パソコンのメディアファイルも熟知しておく必要が出てきたようです。


画像


このプログラムは、下記ホームページからダウンロードできます。
「趣味のホームページ」−「電子工作」−「PICのプログラム」−「dsPIC30F4013BMP画像表示」
http://homepage2.nifty.com/sfukuda/page169.html



LCD&タッチセンサ活用の素 (基礎入門)
技術評論社
後閑 哲也

amazon.co.jpで買う
Amazonアソシエイト by LCD&タッチセンサ活用の素 (基礎入門) の詳しい情報を見る / ウェブリブログ商品ポータル


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
なるほど(納得、参考になった、ヘー)

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
dsPIC30F4013による、BMP画像表示 趣味のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる