A、ITKリテラシー作品
ITKの内部に、我々は、画像の読取画素タイプ、画像の種類を設定する必要があります。
その後、読み取りポインタ、リード・パラメータを設定します。
書き込みポインタを設定し、同時に、ファイルパラメータに書き込まれます。
読み取りと書き込みのアクションを達成するために、我々は、工場出荷時のIO(IOFactory)を構築する必要が読み書きするアクションを実装するために使用されます。
また、上記コンテンツのセットをトリガするために使用されるアクションを、必要とする、すべての作業を行います。
それは私たちが、マシンの内部には、(工場作業機構)を実行しているのか分からない、機械のようだが、彼らは、我々はスタートスイッチ上でクリックし、パラメータを設定することができます知っています、
この時間は、マシンは私たちが望む効果に、正常に機能することができるようになります。(この意味では、実際にどこAPIです)。
第二に、次のように読むためのメカニズムと書き込みのための説明です
まず、我々は右サイドImageFileWriterとImageFileReaderを設定し、我々は先のファイル名を操作するために必要な機能を伝えます。
その後、工場はImageIOでを作成しました。
このファイルには、作業者が読み取ることができるの内側ImageIOFactoryと書き込みを決定することにより。
例えば、我々はPNGImageIOFactory(決定した労働者を)見つける、この時間は、読み取りおよび書き込み対象のファイルに、PNGImageIOFactoryはImageIOFactoryオペレーターとして、メモリ上に作成され、動作することに託されたデータを入れ、対応が完了することができます読み取り操作と書き込み。
作業は完了です。
このメカニズムは同じ需給プラットフォームと同等です。
リリースされ、このような修理電化製品など、ニーズに人(wirterまたはリーダーのポインタ)、そして人々は、その後、完成会社(ImageIOFactory)の名前を登録する(登録)(完全な書き込みや読み出し)修理電気受注する能力を持っています作業を終了するアクションを充当。
いくつかのImageIOの工場は以下のように:
第三に、例
具体的に設計方法は、ブログを参照してください
コードは以下の通りであります:
#include " itkRGBPixel.h " の#include " itkImage.h " の#include " itkImageFileReader.h " の#include " itkImageFileWriter.h " の#include " itkJPEGImageIOFactory.h " int型メイン(無効) { // 読み込み時間はここにありますRGBPixel可読形式は、階調に基づいて、次のように変更した場合読み取る
// PixelTypeを使用= ITK :: RGBPixel < unsigned char型>。
使用 PixelType =未署名の文字を、 使用 IMAGETYPE = ITK ::画像<PixelType、2 > ; 使用して ReaderTypeを= ITK :: ImageFileReader <IMAGETYPE> 。 使用して WriterTypeを= ITK :: ImageFileWriter <IMAGETYPE> 。 ReaderType ::ポインタリーダー = ReaderType ::新(); WriterType ::ポインタライター = WriterType ::新(); // 如果写入的话需要有这一句定义 ITK :: JPEGImageIOFactory :: RegisterOneFactory(); リーダ - > SetFileName(" 1.JPG " )。 作家 - > SetFileName(「2.JPG" ); 作家 - >はSetInput(reader-> GetOutput()); 試み { 作家 - > アップデート(); } キャッチ(ITK :: ExceptionObject&ERR) { のstd :: CERR << " ExceptionObjectをキャッチ!「 << はstd :: ENDL; STD :: CERR << ERR << はstd :: ENDL; 戻りEXIT_FAILURE; } 戻りEXIT_SUCCESS; }
第四に、注意を払います
ヘッダファイルを追加する機能の4.1適切な使用
更新操作は、好ましくは、以下のコードを使用して、4.2トリガされたとき:
試す { 作家 - > アップデート(); } キャッチ(ITK :: ExceptionObject&ERR) { のstd :: CERR << " ExceptionObjectをキャッチ!" << はstd ::てendl; std :: CERR << ERR << はstd ::てendl; リターンEXIT_FAILURE; }
3、プロジェクトディレクトリにあるファイルを読み込み、プログラムを実行した後、我々は2つの.jpgファイルを得ました
第五に、参照文書
InsightSoftwareGuide-Book2-5.0.1.pdf