本文整理汇总了C++中FloatImage::GetAsGreyImage方法的典型用法代码示例。如果您正苦于以下问题:C++ FloatImage::GetAsGreyImage方法的具体用法?C++ FloatImage::GetAsGreyImage怎么用?C++ FloatImage::GetAsGreyImage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FloatImage
的用法示例。
在下文中一共展示了FloatImage::GetAsGreyImage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[]) {
argc--;
argv++;
if(argc < 1) {
cout << "Usage: houghTransform <input image> [resolution (optional)]" << endl;
return 1;
}
// Load image
Image src;
int result = src.LoadPPM(argv[0]);
if(result != 0) {
cerr << "Cannot open file! " << endl;
return 1;
}
int resolution = 1;
if(argc > 1) {
resolution = atoi(argv[1]);
}
// convert image if needed
Image greySrc = src;
if(src.GetColorModel() != ImageBase::cm_Grey) {
ColorConversion::ToGrey(src, greySrc);
}
// times
timeval startStandard;
timeval endStandard;
timeval start1Fast;
timeval start2Fast;
timeval endFast;
// ---------- standard hough transformation ------------
vector<PrimitiveLine> lines;
HoughTransform ht;
gettimeofday(&startStandard, NULL);
ht.StandardHoughTransform(greySrc, resolution, lines);
gettimeofday(&endStandard, NULL);
// save hough space
FloatImage houghSpace = ht.GetHoughSpace();
Image tmp;
houghSpace.GetAsGreyImage(tmp);
Save(tmp, string(argv[0]) + "_standardht_houghspace.ppm");
// paint lines
Image linesImg;
ColorConversion::ToRGB(greySrc, linesImg);
for(unsigned int i = 0; i < lines.size(); i++) {
lines[i].SetColor(Color::red());
lines[i].Draw(&linesImg);
}
Save(linesImg, string(argv[0]) + "_standardht_lines.ppm");
// ---------- fast hough transformation ------------
cout << endl;
lines.clear();
StructureTensor J;
gettimeofday(&start1Fast, NULL);
J.SetFromImage(greySrc);
HoughTransform ht2;
gettimeofday(&start2Fast, NULL);
ht2.FastHoughTransform(J, resolution, lines);
gettimeofday(&endFast, NULL);
// save hough space
houghSpace = ht2.GetHoughSpace();
houghSpace.GetAsGreyImage(tmp);
Save(tmp, string(argv[0]) + "_fastht_houghspace.ppm");
// paint lines
ColorConversion::ToRGB(greySrc, linesImg);
for(unsigned int i = 0; i < lines.size(); i++) {
lines[i].SetColor(Color::blue());
lines[i].Draw(&linesImg);
}
Save(linesImg, string(argv[0]) + "_fastht_lines.ppm");
// ---------- Ausgabe benoetigte Zeit -------------
timeval standard;
timeval fast1, fast2;
timeval_subtract(&standard, &endStandard, &startStandard);
//.........这里部分代码省略.........