python - 如何可视化选择性搜索的分割图像?

标签 python opencv

如何可视化应用于图像的选择性搜索算法的分割图像输出?

import cv2

image = cv2.imread("x.jpg")

ss = cv2.ximgproc.segmentation.createSelectiveSearchSegmentation()
ss.setBaseImage(image)

ss.switchToSelectiveSearchQuality()
rects = ss.process()
也就是得到右边的图像
enter image description here

最佳答案

我不确定,但我认为可能无法获得您需要的图像。
原因是:
Open this file first containing the source code
在第 726-734 行中,变量“images”是私有(private)的,并且在第 828 行的方法 switchToSelectiveSearchQuality() 中,用于计算的不同图像存储在私有(private)变量“images”中(按照 addImage 函数查看)。
此外,在第 901 行调用存储在“images”变量中的图像来处理分割。这里调用的方法是“GraphSegmentation”类的 processImage(),我无法向后追溯。
因此,您需要的图像可能根本没有存储在任何地方,或者存储在我们无法访问的私有(private)变量中。
编辑:在 this file 中找到“GraphSegmentation”类和方法“processImage”声明在第 46 和 52 行。

关于python - 如何可视化选择性搜索的分割图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62788673/

相关文章:

python - 数据框按一列分组并平均一列,同时查找另一列中出现最多的情况

python - Tensorflow prefetch_to_device

qt - cv::Mat 到 QImage 的转换

c++ - 无法将结构值插入 inRange openCV

python - 如何导入 `module`类?

python - 从 N 维数组中的值构造 (N+1) 维对角矩阵

java - OpenCV 错误 : Assertion failed (scn == 3 || scn == 4) while using Watershed in OpenCV android sdk

python - 为什么 dlib 面部标志检测器会抛出 RuntimeError?

java - OpenCV,从图像中剪切 fragment

python - 提高元素 block 之间差异的性能