Python Bitwise OR
Python Bitwise OR
我有以下C++代码:
// Load image from vector
cv::Mat image = imread(filenames[i]);
// option = black
if (arg == "black" | arg == "all")
{
// Extracting colors - BGR (black backround)
// Blue
inRange(image, Scalar(190, 0, 0), Scalar(255, 50, 50), blue);
// Green
inRange(image, Scalar(0, 190, 0), Scalar(50, 255, 50), green);
// Red
inRange(image, Scalar(0, 0, 190), Scalar(50, 50, 255), red);
// White
inRange(image, Scalar(235, 235, 235), Scalar(255, 255, 255), white);
// Silver
inRange(image, Scalar(180, 180, 190), Scalar(200, 200, 220), silver);
// bitwise OR mask
mask = blue|green|red|white|silver;
}
// option = wooden
else
{
// Extracting colors - BGR (wooden backround)
// Blue
inRange(image, Scalar(190, 0, 0), Scalar(255, 50, 50), blue);
// Green
inRange(image, Scalar(0, 190, 0), Scalar(50, 255, 50), green);
// Red
inRange(image, Scalar(0, 0, 190), Scalar(50, 50, 255), red);
// White
inRange(image, Scalar(235, 235, 235), Scalar(255, 255, 255), white);
// Silver
inRange(image, Scalar(190, 190, 200), Scalar(220, 220, 230), silver);
// Black
inRange(image, Scalar(0, 0, 0), Scalar(40, 40, 40), black);
// bitwise OR mask
mask = blue|green|red|white|silver|black;
}
// Store mask points into a vector
vector<Point> pts;
findNonZero(mask, pts);
我想翻译成Python。我几乎完成了每个部分,但不是按位 OR 掩码部分。
我尝试了以下方法:
mask = np.logical_or.reduce((mask == blue, mask == green, mask == red, mask == white, mask == silver))
但是它对我不起作用。
此操作的 Python 等效项是什么?
在你的C++ 代码中没有逻辑或使用,只有按位 OR。因此,要在python中执行相同的操作,您应该按位或在那里使用(这是|
,就像在C++中一样(,而不是逻辑。
所以
mask = blue|green|red|white|silver|black;
在C++应等效于
mask = blue|green|red|white|silver|black
在蟒蛇中。
相关文章:
- 瓦尔格林德:数学函数"Conditional jump or move depends on uninitialised value(s)"
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 模式"allocate memory or use existing data"
- N-API include an .so or dll
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 将 OR 逻辑运算符从 C++ 转换为 Fortran
- CPP 中的瓦尔格林德和记忆泄漏:"Conditional jump or move depends on uninitialised values"
- 我如何将 OR 与 if 语句一起使用字符串
- 将 if 语句中的字符与 or 进行比较
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- "No such file or directory" C++标头问题
- 处理 std::enable_if<...中谓词的逻辑"OR">
- C++ 虽然语句不适用于字符串和"or"
- 我在 #include < bits/stdc++h.> 放置时出错"No such file or directory"
- Python Bitwise OR
- Char数组上的累积BitWise OR
- 在这种情况下,'addition'和'bitwise or'是一样的吗?