1. ホーム
  2. c++

[解決済み] C++またはCで画像を扱う

2022-02-26 02:26:36

質問

まず、私は初心者であるということです。 いいですか?

関連する回答や質問も読みましたが、この問題を解決するために、どうかご協力をお願いします。

C++でJPEG画像ファイルを開き、グレースケール画像に変換し、ヒストグラムを取得し、小さい画像にリサイズし、特定の領域を切り取り、または特定の領域を表示するにはどうすればよいでしょうか。

これらの作業では、一般的にCとC++のどちらが速いのでしょうか?

最もシンプルで高速なライブラリは何ですか? 実行時間は非常に重要です。

ありがとうございます。

解決方法は?

を使用した例です。 マジック ライブラリを使用します。

画像を読み込み、切り抜き、新しいファイルに書き込むプログラムです(例外処理はオプションですが、強く推奨します)。

#include <Magick++.h>
#include <iostream>
using namespace std;
using namespace Magick;
int main(int argc,char **argv)
{
  // Construct the image object. Seperating image construction from the
  // the read operation ensures that a failure to read the image file
  // doesn't render the image object useless.
  Image image;

  try {
    // Read a file into image object
    image.read( "girl.jpeg" );

    // Crop the image to specified size (width, height, xOffset, yOffset)
    image.crop( Geometry(100,100, 100, 100) );

    // Write the image to a file
    image.write( "x.jpeg" );
  }
  catch( Exception &error_ )
    {
      cout << "Caught exception: " << error_.what() << endl;
      return 1;
    }
  return 0;
}

その他の例はこちらでご確認ください。