本文整理汇总了C++中Packer::setAligned方法的典型用法代码示例。如果您正苦于以下问题:C++ Packer::setAligned方法的具体用法?C++ Packer::setAligned怎么用?C++ Packer::setAligned使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Packer
的用法示例。
在下文中一共展示了Packer::setAligned方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
#endif
// {:パーサ文字列の開始
// }:パーサ文字列の終了
// |:セパレータ
// ショートネーム,フルネーム,デフォルト値,ヘルプ文
const char* keys = {
"{i|input | |input files}"
"{o|output | |output file}"
"{p|param |-1 |output parameter}"
"{pad|padding |0 |padding pixel}"
"{aln|aligned |false |aligned power of two boundary}"
"{d|display |false |display images}"
};
cv::CommandLineParser parser(argc, argv, keys);
if(argc == 1){
parser.printParams();
return EXIT_SUCCESS;
}
std::string param_i = parser.get<std::string>("i");
const std::string param_o = parser.get<std::string>("o");
int param_p = parser.get<int>("p");
const unsigned int param_pad = parser.get<unsigned int>("pad");
const bool param_aln = parser.get<bool>("aln");
const bool param_d = parser.get<bool>("d");
if(param_i.empty()){
std::cout << "[error] empty input data." << std::endl;
return EXIT_FAILURE;
}
else{
#if 0
std::stringstream ss(param_i);
std::string temp;
while(ss >> temp){
input_images.push_back(temp);
}
#else
std::string temp;
while(param_i.find(";", 0) != std::string::npos){
size_t pos = param_i.find(";", 0);
temp = param_i.substr(0, pos);
param_i.erase(0, pos + 1);
input_images.push_back(temp);
}
#endif
}
// 出力設定
padding = param_pad;
aligned = param_aln;
output_path = param_o;
if(!output_path.empty()){
ofmt_type = getExtension(output_path);
if(ofmt_type == OutputFormat_Unsupported){
std::cerr << "[error] unsupported output format." << std::endl;
return EXIT_FAILURE;
}
if(ofmt_type == OutputFormat_Jpg){
params.push_back(CV_IMWRITE_JPEG_QUALITY);
param_p = (param_p == -1)? 95 : param_p; // 0-100(default=95)
params.push_back(param_p);
}
else
if(ofmt_type == OutputFormat_Png){
params.push_back(CV_IMWRITE_PNG_COMPRESSION);
param_p = (param_p == -1)? 3 : param_p; // 0-9(default=3)
params.push_back(param_p);
}
// else
// if(output_type == Output_Pnm){
// params.push_back(CV_IMWRITE_PXM_BINARY);
// param_p = (param_p == -1)? 1 : param_p; // 0:ascii 1:binary(default=1)
// params.push_back(param_p);
// }
om_type = (param_d)? OutputMode_Both : OutputMode_WriteOnly;
}
else{
ofmt_type = OutputFormat_Png;
om_type = OutputMode_DisplayOnly;
}
// 準備を行う
setup();
// パッキング
packer.setPadding(padding);
packer.setAligned(aligned);
if(!packer.pack(inputs)){
std::cerr << "[error] failed to pack." << std::endl;
return EXIT_FAILURE;
}
// 画像の合成
combineImages();
cv::waitKey(0);
return EXIT_SUCCESS;
}