• ベストアンサー

c言語 bmp 画像比較

c言語で画像比較をしたいです。 具体的には、デスクトップの背景の一部分(4×4bitくらい)が、画面上にあれば処理を実行する、みたいにしたいです。 24bitmap画像です。使ってるのはc言語です。 どういうAPIを使えば良いのでしょうか? それかc言語では難しいでしょうか? 回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

テンプレートマッチングと呼ばれる手法が使えると思います。 画像処理用ライブラリI、例えばOpenCV等には専用の関数が用意されていることがあります。 もちろん、自分で作ることもできます。

westernedlocked
質問者

お礼

まさにこれです! こういうのがあるなんて知りませんでした! ありがとうございます!

関連するQ&A

  • opencvを使って画像比較

    opencvを使って画像比較をしたいです。 具体的には、デスクトップの背景の一部分(4×4bitくらい)が、画面上にあれば処理を実行する、みたいにしたいです。(他のウィンドウなどで隠れていたら実行しない) 具体的にどのような関数を使えば作れますか? テンプレートマッチングという方法でいけそうなのですが、一旦プリントスクリーンキーなどで画面を保存して、それと切り取った4×4の画像を比較していく。のような感じにすればいいのでしょうか? そのような関数はあるのでしょうか? それと画面を一瞬で保存して、IplImageに保存する。みたいな関数はありますか? 下手くそな日本語ですが回答よろしくお願いします・・。

  • C#でBitmapの画像を比較

    C#でBitmapの画像を比較するときに、 bmp.GetPixel(W, H); でひとつひとつ比較していけば出来るのですが、 全く同じBitmapかどうかの比較をするのに、 Bitmap情報の数値化などで、 簡単な方法はあるのでしょうか? 画像比較速度を上げたいので。 よろしくお願い致します。

  • C言語で大量の画像を処理する方法

    C言語で大量の画像を処理する方法について 今度C言語もしくはC++で大量の画像を処理することとなったのですが、 大量の画像に対して同じような処理をする場合なにかいい方法はないでしょうか? 具体的には 画像1を読み込む ↓ 画像1に処理を施し、その値を出力 ↓ 画像2を読み込む ↓ のような感じです。 ここでいう処理は画像の信号によって値は変わりますが、処理方法は同じです。 よろしければ参考になるサイト等も教えていただけると助かります。

  • C言語で画像処理

    C言語で画像処理をしたいのですが、元となる画像の形式は何がよいのでしょうか?BMP,GIF,JPEG,PNG,などいろいろな形式がありますよね。一般的には画像処理プログラミングをするときに、どの形式の画像を用いるのでしょうか? また、その画像の読み込み方がわかりません。C言語は入門書を一通りやってみた程度で、画像処理のプログラミングの仕方がわかりません。 初心者なものでよろしくお願いします。

  • 2つのファイルを比較するC言語プログラムについて

    はじめまして、C言語プログラミングについて質問です。 2つのファイルの内容を比較するプログラムをC言語で作成する方法 について教えて頂けますでしょうか? 2つのファイルをそれぞれオープンした後、ファイルの先頭から1行ずつ読み込んで比較し、 違いがあればその行を画面表示するという動作をさせたいと考えて おります。

  • C言語にて jpg ⇔ bmp 相互変換

    C言語でのjpg、bmp間の相互変換をしたいのですが、 良い方法 or 画像処理ライブラリはないでしょうか? PHPで実装したいので、ネイティブのC言語のみで書かれているほうが都合がいいです。 VC++などで画像ファイルの相互変換を行っているサイトはいくつもあるのですが・・・

  • C言語等での画像処理の勉強方法

    画像処理をしたいがためにCを勉強中のものです。 新版 明解C言語 入門編 (単行本) 柴田望洋 (著) を読んでCの基礎を学んだのですが、画像処理については一切触れらていませんでした。 これからC言語で画像処理の勉強をするに当たって分かりやすい本やサイトがあれば教えてください。

  • C言語でBMP(16bit)を扱う方法

    組み込みソフトの作成を行なっており、液晶に画像を表示するソフトを 作りたいと思っております。 16bitのビットマップ画像をC言語のソースにするにはどうすればよいでしょうか? interface2011年5月号の付録(Renesas RX62N)を使用して、3.5インチQVGAのTFT液晶に 画像を表示したいと思っているのですが、自分で用意した16ビットのビットマップ画像を どうすればC言語ソースに落とせるのかがわかりません。 付録のサンプルプログラムでは、pct_data[]={65535,65535,・・・・}; と各ドットを16bitで表現した配列になっているのですが、ビットマップデータからこのような 配列の作成方法を教えて頂けると助かります。 よろしくお願いいたします。

  • コンパイルせずにマクロの置き換えだけ実行(c言語)

     こんにちは。私はwin32APIを勉強しているc言語初心者なのですが、win32APIにはマクロで定義されたたくさんの新しい型があって、何がなんだか分からなくなります。なのでマクロの置き換えだけを実行してその新しい型がなんの型で出来ているのかを調べたいのですが、それをするにはどうすればいいでしょうか?使っているコンパイラはVC++2008です。回答よろしくお願いします。

  • c言語の仕事について

    こんばんは。 以前C言語(c++では無いです)の仕事内容に ついて教えて貰ったのですが、今回もっと具体的に 教えて貰いたく投稿しました。 私はC言語を勉強中なのですが、まだwindowsプログラム まで行きません。dosプログラムをしていますが、これを 自由につかいこなせれば、プログラマーとして会社に雇用 できるでしょうか?。それともwindowプログラムが出来ないと無理なのでしょうか?。以前の質問でC言語だけでも 仕事になるとの回答(C++もできればなお良い)だったので どうかなと思い投稿しました。 GUIは無い仕事はあるとの事だったのですがAPIが使えない と仕事になりませんか?。昔(10年前位)はwindowプログラムは無かったですよね、あの時のような仕事は現在は無いのでしょうか?。