maxflow 算法

在这里插入图片描述

在计算min cut是,右边流向的容量,不计数。
在这里插入图片描述
在这里插入图片描述

其中,关于理解【min cut = max flow】可以从下面这个一维的情况来简化这个思考。
在这里插入图片描述
一维度:最小的水管约束了水管的最大流速(单位时间流过的水量)。
二维:min cut(二维平面上的分割线)约束了二维管道的max flow(最大流速)

总结:1. 没有理想中的效果那么好,对于前景和背景颜色比较明显界限的图(卡通,场景简洁),效果是不错的。对于一些复杂,颜色渐变,细节杂乱的,往往在边界很依赖于前期所描绘的种子位置。
2.速度也比较慢。

code debug

使用一个repo,但是总是报错,花了一些时间去解决。稍微总结一下:
1.  OpenCV中文路径的问题。原代码中使用imread,imsave来读取和保存图片,结果电脑路径中有中文,导致保存一直识别。
        # self.image = cv2.imread(filename)
        self.image = cv2.imdecode(np.fromfile(filename, dtype=np.uint8), cv2.IMREAD_COLOR)
        cv2.imencode('.jpg', to_save)[1].tofile(outfilename)
        # cv2.imwrite(outfilename, to_save)
2.   connect() failed,Qt中的装饰器@pyqtSlot(),可以去掉。这个我也不知道为什么,不太熟悉Qt.
 openButton.triggered.connect(self.on_open)
TypeError: connect() failed between triggered(bool) and wrapped()

Process finished with exit code 1

    # @pyqtSlot()        
    def on_segment(self):
        self.graph_maker.create_graph()
        self.segmentLabel.setPixmap(QPixmap.fromImage(
            self.get_qimage(self.graph_maker.get_image_with_overlay(self.graph_maker.segmented))))
        # self.on_save()
4. 'import maxflow'  ,安装的时候,pip install Pymaxflow.不是直接安装maxflow.

一些相关的博客

  1. 一些论文和代码实现
  2. 图像处理中的全局优化技术(Global optimization techniques in image processing and computer vision) (一)  这个博客写的特别好,一定要好好研究一下.
  3. wiki:Ford–Fulkerson algorithm
  4. 最大流问题与Ford-Fulkerson算法介绍
  5. Minimum cuts and maximum flow rate
  6. GraphCut图像分割Python实现
  7. PyMax flow tutorial
  8. matlab实现:python计算机视觉学习———图像分割
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值