標準のC言語での画像の読み込み、編集方法
Posted: 2012年10月13日(土) 04:03
今現在、C言語による画像の処理について学んでいます。
最終目的は大漁の画像、1枚1枚の色を識別して、ある色なら0、あるい色なら1といった具合にテキストファイルに出力することを目標としています。
"大漁の画像データ" とは、下記URLの動画の全フレームを画像に変換したものです。(画像への変換はフリーソフトを利用します)
動画の内容は、ストロボの点灯、消灯をコントロールすることでアニメーション的な動作をさせています。
具体的には、
変換した画像のストロボが点滅している部分のみを対象とし、10×25に分割。
点灯(白)と消灯(黒)を識別し、それぞれ0、1というデータとしてテキストファイルに出力したいと思っております。
(ストロボの点灯に関係のない余白はプログラムで簡単に除外出来るのであればしたいと思いますが、ややこしくなるようでしたら編集ソフトで動画のトリミングを行うつもりです)
これらの目標を成し遂げるために何から勉強すれば良いのか分からず、様々なサイトを巡ってみました。
そして、こちらのサイトで今現在勉強しています。
http://pen.agbi.tsukuba.ac.jp/~RStiger/ ... 6%FE%CC%E7
こちらのサイトでは、linux環境を対象としておりプログラムはC言語であるものの、わざわざ1枚1枚の画像をコマンドラインから入力して処理をするという方法が紹介されています。
しばらくの間、linux環境をPcに導入した上でコマンドラインからの実行を行って来ました。
しかし私は、数万に及ぶフレーム数の画像をすべて処理しなくてはならないため、このサイトで学んでいても結果には繋がらない気がしています。
例えば、このサイトの画像を切り出してみようという単元では、画像の読み込みに
fread 関数を利用していますが stdin (標準入力)からデータを読み込んでいます。
そうではなく、画像データをプログラム上で直接指定し、ファイルをオープンしたところで画像を認識。
テキストファイルに書き込み、画像データをクローズ、テキストファイルをクローズ。
このような処理をしたいと思っております。
ふと、テキストファイルやバイナリファイルの読み書きのプログラムを思い出しましたが、画像データを読み込み、画像を書き出すとなると、テキストファイルの読み書きなどとは話が変わってくるのではないかと思います。
画像処理が全くの初心者のため、手が付けられず困っております。
実は、この画像処理の学習はLED掲示板を点滅させるためのデータ作りに過ぎず、あまり時間に余裕がありません。
少しでも具体的なお話をお聞かせいただけると幸いです。
よろしくおねがいします。
[環境]
C言語
Windows 7
VC++ 2008
最終目的は大漁の画像、1枚1枚の色を識別して、ある色なら0、あるい色なら1といった具合にテキストファイルに出力することを目標としています。
"大漁の画像データ" とは、下記URLの動画の全フレームを画像に変換したものです。(画像への変換はフリーソフトを利用します)
動画の内容は、ストロボの点灯、消灯をコントロールすることでアニメーション的な動作をさせています。
具体的には、
変換した画像のストロボが点滅している部分のみを対象とし、10×25に分割。
点灯(白)と消灯(黒)を識別し、それぞれ0、1というデータとしてテキストファイルに出力したいと思っております。
(ストロボの点灯に関係のない余白はプログラムで簡単に除外出来るのであればしたいと思いますが、ややこしくなるようでしたら編集ソフトで動画のトリミングを行うつもりです)
これらの目標を成し遂げるために何から勉強すれば良いのか分からず、様々なサイトを巡ってみました。
そして、こちらのサイトで今現在勉強しています。
http://pen.agbi.tsukuba.ac.jp/~RStiger/ ... 6%FE%CC%E7
こちらのサイトでは、linux環境を対象としておりプログラムはC言語であるものの、わざわざ1枚1枚の画像をコマンドラインから入力して処理をするという方法が紹介されています。
しばらくの間、linux環境をPcに導入した上でコマンドラインからの実行を行って来ました。
しかし私は、数万に及ぶフレーム数の画像をすべて処理しなくてはならないため、このサイトで学んでいても結果には繋がらない気がしています。
例えば、このサイトの画像を切り出してみようという単元では、画像の読み込みに
fread 関数を利用していますが stdin (標準入力)からデータを読み込んでいます。
そうではなく、画像データをプログラム上で直接指定し、ファイルをオープンしたところで画像を認識。
テキストファイルに書き込み、画像データをクローズ、テキストファイルをクローズ。
このような処理をしたいと思っております。
ふと、テキストファイルやバイナリファイルの読み書きのプログラムを思い出しましたが、画像データを読み込み、画像を書き出すとなると、テキストファイルの読み書きなどとは話が変わってくるのではないかと思います。
画像処理が全くの初心者のため、手が付けられず困っております。
実は、この画像処理の学習はLED掲示板を点滅させるためのデータ作りに過ぎず、あまり時間に余裕がありません。
少しでも具体的なお話をお聞かせいただけると幸いです。
よろしくおねがいします。
[環境]
C言語
Windows 7
VC++ 2008