Python中`imrect`的等效是什么?

4 投票
4 回答
1121 浏览
提问于 2025-04-17 11:18

我在找一个简单的Python工具或者模块,具体要求是:

  • 我可以给它一张图片,然后它会弹出一个窗口,让用户在图片上画一个框
  • 画完框后,它能返回这个框的坐标

使用MATLAB的朋友们会明白,我是在找Python中类似于imrect的功能。

有没有这样简单的工具呢?

4 个回答

1

很多从MATLAB转到Python的人会使用很多 SciPyNumPyMatplotlib 的功能。我认为 Matplotlib中的RectangleSelector函数 是最接近MATLAB中 imrect 函数的。对于已经在使用Matplotlib绘图的人来说,这个实现起来可能会简单一些。

可以看看这个例子:小部件示例代码: rectangle_selector.py

还有这个页面:matplotlib.widgets.RectangleSelector类

注意:Mac用户需要切换渲染器才能让这个例子正常工作,可以加上以下代码:

import matplotlib
matplotlib.use('TkAgg')

下面是这个例子的实际效果:

在这里输入图片描述

与MATLAB中的imrect函数不同,默认情况下,框只会在你绘制它的时候保持在原地。

2

你可以试试 PIL,这是一个叫做Python图像库的东西。

如果你想做图形用户界面(GUI),可以用一个叫 tkinter 的模块,不过也可能有其他更好的选择。

5

给未来的搜索者一个快速的实现方法:https://raw.github.com/cvondrick/pyvision/master/vision/drawer.py

撰写回答