不能向inRange openCV插入结构体值
cannot insert struct values to inRange openCV
我似乎无法将结构体上的成员值插入到inRange函数中。程序编译了,但是阈值没有按预期工作。如果我插入一个非结构体的值,它会正常工作。
struct objects{
int iLowH;
int iHighH;
int iLowS;
int iHighS;
int iLowV;
int iHighV;
Point coordinate;
};
int iLowH = 0;
int iHighH = 30;
int iLowS = 182;
int iHighS = 255;
int iLowV = 0;
int iHighV = 255;
int refArea=10000;
orange.iLowH = 0;
orange.iHighH = 100;
orange.iLowS = 182;
orange.iHighS = 255;
orange.iLowV = 100;
orange.iLowH = 255;
inRange(hsvImage, Scalar(iLowH, iLowS, iLowV), Scalar(iHighH, iHighS, iHighV), threshold);
imshow("hsv",threshold);
运行良好
struct objects{
int iLowH;
int iHighH;
int iLowS;
int iHighS;
int iLowV;
int iHighV;
Point coordinate;
};
int iLowH = 0;
int iHighH = 30;
int iLowS = 182;
int iHighS = 255;
int iLowV = 0;
int iHighV = 255;
int refArea=10000;
orange.iLowH = 0;
orange.iHighH = 100;
orange.iLowS = 182;
orange.iHighS = 255;
orange.iLowV = 100;
orange.iLowH = 255;
inRange(hsvImage, Scalar(orange.iLowH, orange.iLowS, orange.iLowV), Scalar(orange.iHighH, orange.iHighS, orange.iHighV), threshold);
imshow("hsv",threshold);
这不起作用。阈值图像只显示黑色。如果我改变iLowH = orange的值。等等,它也不会起作用。如果我改变其中一个,它也不会工作。如果我打印橙色的值,它会显示正确的值,如果我打印橙色的数据类型,它会为每个值显示int。
orange.iHighV
未初始化。在你的代码中:
orange.iLowH = 0;
orange.iHighH = 100;
orange.iLowS = 182;
orange.iHighS = 255;
orange.iLowV = 100;
orange.iLowH = 255;
// ^^ overwrites previous value 0, should probably be iHighV instead.
两个版本(iHighH = 30
vs orange.iHighH = 100
, iLowV = 0
vs orange.iLowV = 100
)的实际阈值不同,因此也可能导致不同的结果
相关文章:
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- 包含 std::list 的结构体的 C++ 初始化
- 结构体和类的不同大小(),彼此具有相同的字段类型
- 如何使用结构体的向量数组?
- 如何使用结构体在C++中更改这些代码?
- 我想直接在结构中插入,但没有一种方法可以正确避免填充问题
- 无法在 Mosquitto MQTT Broker 插件上访问结构体 mosquitto 的元素
- 我应该如何在C++中使用结构体解决输入失败的问题?
- Qsort() 比较结构体整数的总和
- 如何使用迭代器指向结构体c++的向量
- 在C++中使用链表的堆栈实现中,访问结构体headNode成员count和top会导致运行时错误
- 如何获取结构体成员的地址
- 创建结构体向量,表达式:向量下标超出范围
- boost::任何带有结构体和无符号整数
- 如何在构造函数中初始化结构体的动态数组?
- 不能向inRange openCV插入结构体值
- 在c++中插入一个有序的结构体数组
- map -插入一个嵌套结构体