任何人都可以向我解释此OPENCV代码的一部分
Can anyone explain part of this opencv code to me?
原始代码在这里
这是一个用于跟踪手势的OPENCV程序,我试图弄清楚为什么此代码的创建者需要C_lower和C_UPPER数组
发布的代码太多了,我主要想知道这里是否有人在这里使用此代码,然后他比我更好地了解。
我想知道他为什么这样做:
void produceBinaries(MyImage *m) {
Scalar lowerBound;
Scalar upperBound;
for (int i = 0; i<NSAMPLES; i++) {
normalizeColors(m);
lowerBound = Scalar(avgColor[i][0] - c_lower[i][0], avgColor[i][1] - c_lower[i][1], avgColor[i][2] - c_lower[i][2]);
upperBound = Scalar(avgColor[i][0] + c_upper[i][0], avgColor[i][1] + c_upper[i][1], avgColor[i][2] + c_upper[i][2]);
m->bwList.push_back(Mat(m->srcLR.rows, m->srcLR.cols, CV_8U));
inRange(m->srcLR, lowerBound, upperBound, m->bwList[i]);
}
m->bwList[0].copyTo(m->bw);
for (int i = 1; i<NSAMPLES; i++) {
m->bw += m->bwList[i];
}
medianBlur(m->bw, m->bw, 7);
}
而不是这个
void produceBinaries(MyImage *m) {
Scalar lowerBound;
Scalar upperBound;
for (int i = 0; i<NSAMPLES; i++) {
normalizeColors(m);
lowerBound = Scalar(avgColor[i][0] - 20, avgColor[i][1] - 20, avgColor[i][2] - 20);
upperBound = Scalar(avgColor[i][0] + 20, avgColor[i][1] + 20, avgColor[i][2] + 20);
m->bwList.push_back(Mat(m->srcLR.rows, m->srcLR.cols, CV_8U));
inRange(m->srcLR, lowerBound, upperBound, m->bwList[i]);
}
m->bwList[0].copyTo(m->bw);
for (int i = 1; i<NSAMPLES; i++) {
m->bw += m->bwList[i];
}
medianBlur(m->bw, m->bw, 7);
}
可以在此处找到此代码
为什么他需要C_lower和C_Upper的单独值才能进行色相,饱和度和值?为什么不选择像20这样的任意号码?
如果有人可以提供任何帮助,那么这个人几年就没有发布任何有关此代码的信息,所以我不希望他回复我。
,因为这些界限是由用户在GUI中控制的,而不是在代码中进行硬编码。它们设置为initTrackbars
中的初始值,以稍后使用TrackBar(一种滑块)进行控制。
相关文章:
- Mingw-64 在构建和安装后不会编译 openCV 代码
- OpenCV代码不会检测人脸的数量,也不会在脸周围放一个圆圈
- 将 OpenCV 2 中的ANN_MLP代码转换为 OpenCV 3 代码
- 使用Bicubic C 的调整大小函数的OPENCV代码流是什么?
- cv:内存位置的异常 - 运行 openCV 代码 Visual Studio 2013 & Visual Studio 2017 - Windows 7
- 使用 Emscripten 将 OpenCV 代码编译C++ Javascript
- 如何在Android中使用OpenCV C 代码
- 想要将此 Matlab 代码转换为 OpenCV 代码
- 如何在Ubuntu 16.04上的Anaconda环境中将OpenCV C 代码与Python代码集成在一起
- 无法解决 opencv 代码中的 malloc 错误
- opencv 代码中的错误:C++
- 任何人都可以向我解释此OPENCV代码的一部分
- 使用MATLAB通过MEX运行OPENCV代码在VisualStudio上可以使用
- 以下使用 OpenCV 代码的C++未编译
- 在c#应用程序中调用opencv c++代码
- Visual如何使用OPENCV(C 代码)访问IP摄像机?有没有一种方法可以使用OpenCV VLC访问?(Win
- 在Visual Studio 2012中运行我的OpenCV代码时无法找出'u202A'警告
- OpenCV C++代码在终端中运行良好,但在从Ubuntu 12.04运行时出错
- 将 c++ opencv 代码更改为 android 代码
- OpenCV代码将存储在列表中的描述符与新的图像描述符进行比较