解説クラスCopyClear(6)
解説クラスCopyClear(6)
2024年3月2初講(初稿)
この講義は解説『解説クラスCopyClear(5)』の
続きです!
(4-10)画像型検査関数群
先に、解説『画像メモリ概要』で紹介した!
画像を扱う基本としての「画像型」として
クラス【class TypeArray{}】を画像処理ライブラリでは、
使用して行きますが、個別の関数で共通に引数に使用した
場合の引数チェックに使用する関数を紹介して行きます!
public: // TypeArray型の検査
int CheckFilterImage( // FLT用画像検査
TypeArray *ps, // S画像
TypeArray *pd, // D画像
int h, // 水平Win幅
int v // 垂直Win幅
);
int CheckFilterImageReal( // FLT用画像検査:実数
TypeArray *ps, // S画像
TypeArray *pd, // D画像
int h, // 水平Win幅
int v // 垂直Win幅
);
int CheckMinMaxFilterImage( // MaxMinFlt用画像検査
TypeArray *ps, // S画像
TypeArray *pd, // D画像
int h, // 水平Win幅
int v // 垂直Win幅
);
int CheckArrayMeasure( // 計測結果配列検査
TypeArray *pa, // 配列
int ord, // 引数順位 10,20,,,
int size // 計測結果BUF-SIZE
);
int MultcheckArrayMeasure( // 計測結果配列検査×5
int ord, // 引数順位
int size, // 計測結果 BufSize
TypeArray *p1, // 検査配列情報ptr1
TypeArray *p2, // 検査配列情報ptr2
TypeArray *p3, // 検査配列情報ptr3
TypeArray *p4, // 検査配列情報ptr4
TypeArray *p5 // 検査配列情報ptr5
);
int CheckArrayInteger( // 配列の検査:整数単位
TypeArray *array // 配列
);
int CheckImageInteger( // 画像の検査:整数単位
TypeArray *image, // 画像
int wa, // 画像単位:小
int wb // 画像単位:大
);
int CheckImageByte( // 画像の検査:BYTE単位
TypeArray *image // 画像
);
int CheckImageWord( // 画像の検査:2BYTE単位
TypeArray *image // 画像
);
int CheckImageByteAndWord( // 画像検査:1/2BYTE単位
TypeArray *image // 画像
);
int CheckImageMeasure( // ソース画像の検査
TypeArray *ps // 画像
);
int CheckArraySort( // 複数配列の検査:ソート用
TypeArray *p, // 配列
int n // 配列個数 1..100
);
public: // カラー画像検査&調整
void AdjustColorImageSize( // 3色画像最小サイズ調整
TypeArray* r, // 赤色画像
TypeArray* g, // 緑色画像
TypeArray* b, // 青色画像
int& size_h, // 画像の水平サイズ
int& size_v // 画像の垂直サイズ
);
int CheckColorImageSize( // 3色画像最小サイズ算出
TypeArray* r, // 赤色画像
TypeArray* g, // 緑色画像
TypeArray* b, // 青色画像
int& size_h, // 画像の水平サイズ
int& size_v // 画像の垂直サイズ
);
(4-10-1)関数「int CheckFilterImage(
TypeArray* ps,TypeArray* pd,int h,int v);」
int CheckFilterImage( // FLT用画像検査
TypeArray *ps, // S画像
TypeArray *pd, // D画像
int h, // 水平Win幅
int v // 垂直Win幅
);
「Check」は、英単語「Check」で検査を意味します!
「FilterImage」は、画像処理の特徴的な処理項目として「
3×3とか、5×5及びN×Nサイズの局所空間フィルター
」と言う処理で解説『解説クラスFilter(1)』等で
クラス【class Filter:public Calculate{}】の解説を行う
予定です!で記載説明する「空間フィルター」系関数の事で
す!
仮引数「TypeArray* ps,TypeArray* pd,」は、「ps」で
処理する元画像、「pd」で結果画像を示します!
この関数は、画像に対して処理する関数で無く、
仮引数「TypeArray* ps,TypeArray* pd,」に設定して居る
情報≪メンバー変数「int adr;int h;int v;int inc;
chaw;」≫が、使用する関数に合致するか如何の
検査用です!
仮引数「int h,int v」は、ウィンドウサイズと言うサイズ
です★注意★解説『解説クラスFilter(1)』等で
クラス【class Filter:public Calculate{}】の解説を行う
ところで説明します!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-2)関数「int CheckFilterImageReal(
TypeArray* ps,TypeArray* pd,int h,int v);」
int CheckFilterImageReal( // FLT用画像検査:実数
TypeArray *ps, // S画像
TypeArray *pd, // D画像
int h, // 水平Win幅
int v // 垂直Win幅
);
「Check」は、英単語「Check」で検査を意味します!
「FilterImage」は、画像処理の特徴的な処理項目として「
3×3とか、5×5及びN×Nサイズの局所空間フィルター
」と言う処理で解説『解説クラスFilter(1)』等で
クラス【class Filter:public Calculate{}】の解説を行う
予定です!で記載説明する「空間フィルター」系関数の事で
す!
仮引数「TypeArray* ps,TypeArray* pd,」は、「ps」で
処理する元画像、「pd」で結果画像を示します!
この関数は、画像に対して処理する関数で無く、
仮引数「TypeArray* ps,TypeArray* pd,」に設定して居る
情報≪メンバー変数「int adr;int h;int v;int inc;
chaw;」≫が、使用する関数に合致するか如何の
検査用です!
仮引数「int h,int v」は、ウィンドウサイズと言うサイズ
です★注意★解説『解説クラスFilter(1)』等で
クラス【class Filter:public Calculate{}】の解説を行う
ところで説明します!
「Real」は、実数型≪単精度浮動小数点数型「float」及び
倍精度浮動小数点数型「double 」≫の画像メモリへの
関数が対象です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-3)関数「int CheckMinMaxFilterImage(
TypeArray* ps,TypeArray* pd,int h,int v);」
int CheckMinMaxFilterImage( // MaxMinFlt用画像検査
TypeArray *ps, // S画像
TypeArray *pd, // D画像
int h, // 水平Win幅
int v // 垂直Win幅
);
「Check」は、英単語「Check」で検査を意味します!
「MinMax」は、最小最大を意味します!
「FilterImage」は、画像処理の特徴的な処理項目として「
3×3とか、5×5及びN×Nサイズの局所空間フィルター
」と言う処理で解説『解説クラスFilter(1)』等で
クラス【class Filter:public Calculate{}】の解説を行う
予定です!で記載説明する「空間フィルター」系関数の事で
す!ココでは、画像の最小値フィルター・最大値フィルター
及びランキングフィルターを意味します!
仮引数「TypeArray* ps,TypeArray* pd,」は、「ps」で
処理する元画像、「pd」で結果画像を示します!
この関数は、画像に対して処理する関数で無く、
仮引数「TypeArray* ps,TypeArray* pd,」に設定して居る
情報≪メンバー変数「int adr;int h;int v;int inc;
chaw;」≫が、使用する関数に合致するか如何の
検査用です!
仮引数「int h,int v」は、ウィンドウサイズと言うサイズ
です★注意★解説『解説クラスFilter(1)』等で
クラス【class Filter:public Calculate{}】の解説を行う
ところで説明します!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-4)関数「int CheckArrayMeasure(
TypeArray* pa,int ord,int size);」
int CheckArrayMeasure( // 計測結果配列検査
TypeArray *pa, // 配列
int ord, // 引数順位 10,20,,,
int size // 計測結果BUF-SIZE
);
「Check」は、英単語「Check」で検査を意味します!
「Array」は、配列を意味し画像では、有りません!
「Measure」は、英単語「Measure」で測定を意味します!
「ArrayMeasure」として測定結果を格納する配列とし!
ここでは、仮引数「TypeArray* pa,」が一次元配列の
計測結果格納配列として正しい情報≪メンバー変数
「int adr;int h;int v;int inc;chaw;」≫が、使用する
関数に合致するか如何の検査用です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-5)関数「int MultcheckArrayMeasure(
int ord,int size,
TypeArray* p1,TypeArray* p2,
TypeArray* p3,TypeArray* p4,
TypeArray* p5);」
int MultcheckArrayMeasure( // 計測結果配列検査×5
int ord, // 引数順位
int size, // 計測結果 BufSize
TypeArray *p1, // 検査配列情報ptr1
TypeArray *p2, // 検査配列情報ptr2
TypeArray *p3, // 検査配列情報ptr3
TypeArray *p4, // 検査配列情報ptr4
TypeArray *p5 // 検査配列情報ptr5
);
「Mult」は、「multiple」の略称として「多数の」を意味!
「Check」は、英単語「Check」で検査を意味します!
「Array」は、配列を意味し画像では、有りません!
「Measure」は、英単語「Measure」で測定を意味します!
「ArrayMeasure」として測定結果を格納する配列とし!
ここでは、仮引数「TypeArray* pa,」が一次元配列の
計測結果格納配列として正しい情報≪メンバー変数
「int adr;int h;int v;int inc;chaw;」≫が、使用する
関数に合致するか如何の検査用です!
「MultcheckArray」として多数の測定結果を格納する配列
を検査すると解釈して下さい!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-6)関数「int CheckArrayInteger(
TypeArray* array);」
int CheckArrayInteger( // 配列の検査:整数単位
TypeArray *array // 配列
);
「Check」は、英単語「Check」で検査を意味します!
「Array」は、配列を意味し画像では、有りませんが、
配列として使用する場合に不都合が有るか否かを検査する
関数です!「Integer」と整数型に関して使用する必要が
有る関数が対象です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-7)関数「int CheckImageInteger(
TypeArray* image,int wa,int wb);」
int CheckImageInteger( // 画像の検査:整数単位
TypeArray *image, // 画像
int wa, // 画像単位:小
int wb // 画像単位:大
);
「Check」は、英単語「Check」で検査を意味します!
「ImageInteger」は、整数型の画像として使用する場合に
不都合が有るか否かを検査する関数です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-8)関数「int CheckImageBYTE (
TypeArray* image);」
int CheckImageByte( // 画像の検査:BYTE単位
TypeArray *image // 画像
);
「Check」は、英単語「Check」で検査を意味します!
「ImageBYTE 」は、「BYTE型」の画像として使用する場合に
不都合が有るか否かを検査する関数です!
★注意★「BYTE型」の画像を扱うのが、この画像処理ライブ
ラリの基本の基なので特に多く使用します!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-9)関数「int CheckImageWord(
TypeArray* image);」
int CheckImageWord( // 画像の検査:2BYTE単位
TypeArray *image // 画像
);
「Check」は、英単語「Check」で検査を意味します!
「ImageWord」は、「2バイト構成型≪C言語では、
short型・unsigned short型≫」の画像として使用する
場合に不都合が有るか否かを検査する関数です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-10)関数「int CheckImageByteAndWord(TypeArray* image);」
int CheckImageByteAndWord( // 画像検査:1/2BYTE単位
TypeArray *image // 画像
);
「Check」は、英単語「Check」で検査を意味します!
「ImageByteAndWord」は、「BYTE型」の画像及び
「2バイト構成型≪C言語では、short型・
unsigned short型≫」の画像として使用する場合に
不都合が有るか否かを検査する関数です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-11)関数「int CheckImageMeasure(TypeArray* ps);」
int CheckImageMeasure( // ソース画像の検査
TypeArray *ps // 画像
);
「Check」は、英単語「Check」で検査を意味します!
「ImageMeasure」は、「2値化画像から図形的特徴を計測す
る為の対象」画像用の画像情報検査関数です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-12)関数「int CheckArraySort(
TypeArray* p,int n);」
int CheckArraySort( // 複数配列の検査:ソート用
TypeArray *p, // 配列
int n // 配列個数 1..100
);
「Check」は、英単語「Check」で検査を意味します!
「ArraySort」は、主にソート関数を適応する複数の
データ配列に対する検査関数です!
仮引数「int n」で仮引数「TypeArray* p,」のポインタで
示される配列の数を示します!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-13)関数「void AdjustColorImageSize(
TypeArray* r,TypeArray* g,TypeArray* b,
int &size_h,int &size_v);」
void AdjustColorImageSize( // 3色画像最小サイズ調整
TypeArray* r, // 赤色画像
TypeArray* g, // 緑色画像
TypeArray* b, // 青色画像
int& size_h, // 画像の水平サイズ
int& size_v // 画像の垂直サイズ
);
「Adjust」は、英単語「Adjust」カタカナ語でもアジャスト
と調整するの意味です!
「ColorImage」は、カラーイメージ詰り、3枚の画像、
仮引数「TypeArray* r,TypeArray* g,TypeArray* b,」と
三原色「赤(r)・緑(g)・青(b)」で現わされる
画像情報「TypeArray型」を「Size」と関数名に付いて
居る様にサイズを調整する関数です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
(4-10-14)関数「int CheckColorImageSize(
TypeArray* r,TypeArray* g,TypeArray* b,
int &size_h,int &size_v);」
int CheckColorImageSize( // 3色画像最小サイズ算出
TypeArray* r, // 赤色画像
TypeArray* g, // 緑色画像
TypeArray* b, // 青色画像
int& size_h, // 画像の水平サイズ
int& size_v // 画像の垂直サイズ
);
「Check」は、英単語「Check」で検査を意味します!
「ColorImage」は、カラーイメージ詰り、3枚の画像、
仮引数「TypeArray* r,TypeArray* g,TypeArray* b,」と
三原色「赤(r)・緑(g)・青(b)」で現わされる
画像情報「TypeArray型」を検査する関数です!
★詳細★は、後で説明:【ファイル「CopyClear000.cpp」が
対象】します!
★備考★
解説『解説クラスTypeArray』でも記載したが、
noteエディタの変な特性でコピペした文章の半角「*」
が消されたり、空白「 」が消される事が多々あります!
注意して手作業で修正している筈ですが、必ず、code
機能で表示して居る物を正しいとして確認して下さい
ここで一旦、切れが良い「画像型検査関数群」での
「public」属性の関数紹介が終わったので3月2日分迄の
講義とします!
続きは、「解説クラスCopyClear(7)」に成り
ます!
「(7)」では、元々サブルーチンとして作成したので
「private」属性を付けていたが「public」属性の方が
都合が良い関数にした各関数を紹介します!
引き続き御贔屓して受講して下さい!