入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。画像処理に関する質問です。初歩的なことかもしれませんが、ご教授お願いいたします。JPEGまたはBMP画像を読み込んで、その画像のピクセル値を表示するプログラムを作成したいのですが、まったくどうしてよいか判らず、行き詰っています。これまでいろいろ試してみたのですが、読み込んだ画像をBit値に変換してしまったり(そのせいでパソコンがクラッシュしてしまいました...)、うまくいきません。画像処理の対象となる原画像を取り込み、その原画像のピクセルの色情報を表示するためには、どのような処理を行えばよいのでしょうか?どうぞよろしくお願いします。通報するこの質問への回答は締め切られました。画像」に関するQ&A:画像処理を覚えている段階です。17:21こんにちは。実は意外と奥が深くて面倒だったりします。フォーマットを無圧縮のBMPのみに限定するなら、ファイル全体をバイナリファイルとしてメモリに取り込んで処理するのが簡単です。BMPファイルのフォーマットは、BITMAPFILEHEADERとBITMAPINFOについてヘルプを引いてみればわかると思います。jepgに対応するなら、LoadImageでDIBSectionで取り出すのが楽かなと思いますが、その場合でも、上記BITMAPINFO等の知識が必要ですので、まずは上記の方法で、無圧縮BMPファイルのみを対象としてプログラムを組んでみることをおすすめします。ピクセル」に関するQ&A:画像をそのまま(ピクセル等倍)で印刷する方法を教えてください。画像処理に適したPCお探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!全カテゴリから検索このカテゴリから検索Q質問する(無料)このQ&Aを見た人はこんなQ&Aも見ています出産前後の痔にはご注意!一体なぜ妊娠・出産には痔がつきまとうのだろうか?その理由を見ていこう。画素値取得についてC言語・C++・C#C++/CLIでの画像情報(RGB)の取得C言語・C++・C#画像の輝度値のプログラムについて・・・・・・C言語・C++・C#4GetPixelについてC言語・C++・C#5グレースケール画像の画素値を得るC言語・C++・C#6C言語C言語・C++・C#7CImageクラスをVisualC++6.0で使いたいのですがC言語・C++・C#8RGB値を画像(PNG・BMPJPEGなど)に出力したいC言語・C++・C#出産前後の痔にはご注意!一体なぜ妊娠・出産には痔がつきまとうのだろうか?その理由を見ていこう。C/C++で画像処理のソフトを作りたいのですが、知識不足で困ってます。C++配列の型に関するC++規格について教えていただきたいです。回答数ランキングです。数このQ&Aと関連する良く見られている質問Qグレースケール画像の画素値を得るOpenCVを使わずにC言語で、グレースケール画像を読み込んで、各画素をそれに対応する配列に格納するプログラムを作りたいと思っています。C言語で画像を読み込む方法や、各画素の画素値を得る方法がわかりません。どなたかご存知の方がいらしたら、教えてください。Aベストアンサーグレースケール画像と言っても、フォーマット(内部のデータ形式)がなんなのかわからないと、読み込みアルゴリズムが考えられません。jpegの様な、圧縮が入っているフォーマットだと、非常に面倒です。http://www14.ocn.ne.jp/~setsuki/ext/jpg.htm逆に、pgmのように画素値をそのままバイナリかアスキーで書き込んでいるだけなら、freadして配列に格納していくだけです。画素値が知りたい場合は、配列の場所を指定してfprintでもすればよいでしょう。http://www.not-enough.org/abe/manual/command/netpbm/pgm.html方針としては、以下の二つが考えられます。1.プログラムが対応する画像フォーマット種類を決め、そのフォーマットを調べ、対応アルゴリズムを構築する2.pgmフォーマット読み込みプログラムを作成する。別途、画像変換ソフトを用意し、どんな画像でもpgmに変換してからプログラムで使用する。以上、参考になれば幸いです。グレースケール画像と言っても、フォーマット(内部のデータ形式)がなんなのかわからないと、読み込みアルゴリズムが考えられません。jpegの様な、圧縮が入っているフォーマットだと、非常に面倒です。http://www14.ocn.ne.jp/~setsuki/ext/jpg.htm逆に、pgmのように画素値をそのままバイナリかアスキーで書き込んでいるだけなら、freadして配列に格納していくだけです。画素値が知りたい場合は、配列の場所を指定してfprintでもすればよいでしょう。http://www.not-enough.org/abe/manual/com...続きを読む他の回答も見るQ画素値取得について質問ですがCやC++で画素値を取得するにはどうしたらいいでしょうかAベストアンサーそれ以外ってどのOSでしょうか。C/C++は標準で画像を扱うライブラリなんてありませんよ?OSに依存します。bmpやjpegのファイルならフォーマットが決まっているのでファイルをバイナリでオープンしてデータを取得します。nHeight/2にしたらなるでしょうか??この場合だと上半分になってしまうでしょうか??PCがまだ使えないのでルーズリーフにいろいろ試行錯誤して書いてるのですが、他に何かヒントがあればよろしくお願いします。すみませんがお願いします。nHeight/2にしたらなるでしょうか??この場合だと上半分になってしまうでしょうか??はい。左半分の場合はnWidth/2のハズです一応参考と言う事で(過信してはいけません)。nHeight/2にしたらなるでしょうか??この場合だと上半分になってしまうでしょうか??はい。左半分の場合はnWidth/2のハズです一応参考と言う事で(過信してはいけません)。...続きを読む他の回答も見るQ画像の2値化についてグレー画像を微分ヒストグラムを用いて2値化する方法を教えてください。プログラムが書ける程度の詳しさでアルゴリズムの説明をお願いします。・2値化関数(グレー画像と閾値を引数に与えると2値画像を返す)・閾値決定関数(グレー画像を引数に与えるとヒストグラムの微分値の極大値を返す)というのがあれば実現できるのでは?2値化関数は簡単ですよね。Θを実行すれば良いですよね。Ib[j][i]は2値画像の画素(i,j)の値、Ig[j][i]はグレー画像の画素(i,j)の値。閾値決定関数ですが、まず、輝度値ごとのヒストグラムを作ります。グレー画像が256階調であるとする。j++)hist[Ig[j][i]]++;次に、ヒストグラムを使って、微分ヒストグラムを作ります。hist[i];こんな感じです。後は微分ヒストグラムdhistを最大にする輝度値を求めればOKです。離散値の微分は他の方法もあります。工夫(画素ヒストグラムが極端に低い・高い画素が存在し得るので)が必要かも知れません。・2値化関数(グレー画像と閾値を引数に与えると2値画像を返す)・閾値決定関数(グレー画像を引数に与えるとヒストグラムの微分値の極大値を返す)というのがあれば実現できるのでは?2値化関数は簡単ですよね。Θを実行すれば良いですよね。Ib[j][i]は2値画像の画素(i,j)の値、Ig[j][i]はグレー画像の画素(i,j)の値。偽なら0を返す...続きを読む他の回答も見るQビットマップ画像を読み込むプログラムがうまく行きません。