【BAT】ロットテスト実行結果
5847 ワード
バッチ処理によく使われますが、まだ慣れていません.いくつかの小さなファイルを記録して、後で検索しやすいです~
ファイル(およびサブファイルの下の画像)をlistに書き込む.txt
testを使用します.exeテストlist.txtのファイルを記録し、結果を記録すると、テストに失敗して「decoding failed」が出力されます.
test.Exceでは、いくつかのオプションパラメータを使用できます.
ファイルディレクトリの生成
ファイル(およびサブファイルの下の画像)をlistに書き込む.txt
@echo off&setlocal enabledelayedexpansion
for /r %%i in (*.jpg *.png *.tif) do (
echo %%i >>list.txt
)
pause
テストファイル、統計結果
testを使用します.exeテストlist.txtのファイルを記録し、結果を記録すると、テストに失敗して「decoding failed」が出力されます.
@echo off
set /a passed=0
set /a all=0
del /f /s /q result.txt
for %%p in (*.jpg *.png) do Release\test.exe %%p --more >>list.txt
for /f "delims=" %%i in (result.txt) do (
echo %%i
if not "%%i"=="decoding failed" set /a passed=passed+1
set /a all=all+1
)
echo %passed% passed in %all% pictures
test.Exceでは、いくつかのオプションパラメータを使用できます.
int main(int argc, char** argv) {
if (argc <= 1) {
cout << "Usage: " << argv[0] << " [OPTION]... <IMAGE>..." << endl
<< "Read barcodes from each IMAGE file." << endl
<< endl
<< "Options:" << endl
<< " (-h|--hybrid) use the hybrid binarizer (default)" << endl
<< " (-g|--global) use the global binarizer" << endl
<< " (-v|--verbose) chattier results printing" << endl
<< " --more display more information about the barcode" << endl
<< " --test-mode compare IMAGEs against text files" << endl
<< " --try-harder spend more time to try to find a barcode" << endl
<< " --search-multi search for more than one bar code" << endl
<< endl
<< "Example usage:" << endl
<< " zxing --test-mode *.jpg" << endl
<< endl;
return 1;
}
int total = 0;
int gonly = 0;
int honly = 0;
int both = 0;
int neither = 0;
for (int i = 1; i < argc; i++) {
string filename = argv[i];
if (filename.compare("--verbose") == 0 ||
filename.compare("-v") == 0) {
verbose = true;
continue;
}
if (filename.compare("--hybrid") == 0 ||
filename.compare("-h") == 0) {
use_hybrid = true;
continue;
}
if (filename.compare("--global") == 0 ||
filename.compare("-g") == 0) {
use_global = true;
continue;
}
if (filename.compare("--more") == 0) {
more = true;
continue;
}
if (filename.compare("--test-mode") == 0) {
test_mode = true;
continue;
}
if (filename.compare("--try-harder") == 0) {
try_harder = true;
continue;
}
if (filename.compare("--search-multi") == 0){
search_multi = true;
continue;
}
if (filename.length() > 3 &&
(filename.substr(filename.length() - 3, 3).compare("txt") == 0 ||
filename.substr(filename.length() - 3, 3).compare("bin") == 0)) {
continue;
}
if (!use_global && !use_hybrid) {
use_global = use_hybrid = true;
}
if (test_mode) {
cerr << "Testing: " << filename << endl;
}
Ref<LuminanceSource> source;
try {
source = ImageReaderSource::create(filename);
} catch (const zxing::IllegalArgumentException &e) {
cerr << e.what() << " (ignoring)" << endl;
continue;
}
string expected = read_expected(filename);
int gresult = 1;
int hresult = 1;
if (use_hybrid) {
hresult = read_image(source, true, expected);
}
if (use_global && (verbose || hresult != 0)) {
gresult = read_image(source, false, expected);
if (!verbose && gresult != 0) {
cout << "decoding failed" << endl;
}
}
gresult = gresult == 0;
hresult = hresult == 0;
gonly += gresult && !hresult;
honly += hresult && !gresult;
both += gresult && hresult;
neither += !gresult && !hresult;
total = total + 1;
}
if (test_mode) {
cout << endl
<< "Summary:" << endl
<< " " << total << " images tested total," << endl
<< " " << (honly + both) << " passed hybrid, " << (gonly + both)
<< " passed global, " << both << " pass both, " << endl
<< " " << honly << " passed only hybrid, " << gonly
<< " passed only global, " << neither << " pass neither." << endl;
}
return 0;
}