1、两个int型的数据相除得到的结果也是int的。
例如: int a=1,b=2;
double c=a/b;
得到的c=0;
想要得到double的结果,需要:
double a=1,b=2;
double c=a/b;
此时得到的c=0.5。
2、当计算几个float的数据结果和预想的差距很大时,如果表达式没有问题,那很可能时数据类型的精度不够,可以把数据类型换成double,在定义有小数点的浮点数时尽量用double,它比float算的快,而且精度更高。
3、批量处理图片
//批量读取图片
string imgs_path = "F:/HYCWORK/项目信息/图纸检测/12_28/1230/*.bmp";
vector<String> imgs_file;
glob(imgs_path, imgs_file);
if (imgs_file.size() == 0) {
cout << "No Images" << endl;
return 0;
}
int dx = 0;
for (int i = 0; i < imgs_file.size(); i++) {
Mat src = imread(imgs_file[i],IMREAD_GRAYSCALE);
//批量保存处理后的图片
char ad[128] = { 0 };
sprintf_s(ad, "F:/HYCWORK/项目信息/图纸检测/12_28/1230/test%d.bmp",dx++);
imwrite(ad, src_ro);
}
3、计算程序运行的时间 头文件 #include<windows.h>
DWORD start, end;
start = GetTickCount();
MySleep(1000);
end = GetTickCount();
printf("time: %d ms\n", end - start);