[C ++等同于Python的具有比较功能的数组访问(array [condition] =值)

问题描述 投票:0回答:1

我正在关注此OpenCV分水岭教程,但将其移植到C ++:https://docs.opencv.org/master/d3/db4/tutorial_py_watershed.html

简单地说,在本教程的某些时候,作者将使用类似的操作来访问并分配矩阵中的像素:

markers[unknown==255] = 0

或此

img[markers == -1] = [255,0,0]

我想做的就是所说的操作,但是在C ++中。它[[感觉很简单,但是我无法理解如何优雅地做到这一点。

在第一种情况下,我可以使用cv::findNonZero解决它,但是在第二种情况下,它变得稍微复杂一些,我想避免使用笨拙的解决方案。

老实说,这可能已经被回答了,但是我不知道哪个术语会在搜索中提出来,任何指针或帮助都将不胜感激。

我正在关注此OpenCV Watershed教程,但是将其移植到C ++:https://docs.opencv.org/master/d3/db4/tutorial_py_watershed.html简而言之,作者可以在教程中的某些地方进行访问。 ..

python c++ opencv
1个回答
1
投票
您可以将OpenCV的inRange方法与下边界=上限一起使用,以获得代表要更改的所需像素的蒙版,然后在OpenCV的inRange方法中使用此蒙版:
© www.soinside.com 2019 - 2024. All rights reserved.