Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向ipython交互式小部件添加移动水平线_Ipython_Ipython Notebook - Fatal编程技术网

向ipython交互式小部件添加移动水平线

向ipython交互式小部件添加移动水平线,ipython,ipython-notebook,Ipython,Ipython Notebook,根据找到的教程,我试图创建一个IPython 2.0小部件,它可以让我在图像中添加一条或多条水平线,然后根据滑块的运动垂直移动它们。我当前的尝试看起来像(在IPython 2.0笔记本中): 结果如下: 其中,我希望图像使用相同的背景图像重新绘制,并基于滑块值更新线位置。使用IPython交互式小部件机制,是否有办法重用“基本”图像并用新行重新绘制 如果有必要,我当前安装的版本为: $ipython--版本 2.0.0 $python—版本 Python 2.7.6::Anaconda 1.9

根据找到的教程,我试图创建一个IPython 2.0小部件,它可以让我在图像中添加一条或多条水平线,然后根据滑块的运动垂直移动它们。我当前的尝试看起来像(在IPython 2.0笔记本中):

结果如下:

其中,我希望图像使用相同的背景图像重新绘制,并基于滑块值更新线位置。使用IPython交互式小部件机制,是否有办法重用“基本”图像并用新行重新绘制

如果有必要,我当前安装的版本为:

$ipython--版本

2.0.0

$python—版本


Python 2.7.6::Anaconda 1.9.0(x86_64)

您应该处理原始图像的副本,如下所示:

from IPython.html.widgets import interact, interactive, fixed
from IPython.display import display
import skimage
from skimage import data, filter, io

i = data.coffee()

def add_lines(image, line1 = 100, line2 = 200):
  new_image = image.copy()  # Work on a copy
  new_image[line1,:,:] = 0
  new_image[line2,:,:] = 0
  new_image = io.Image(new_image)
  display(new_image)

lims = (0,400,2)
interactive(add_lines, image=fixed(i), line1 = lims, line2 = lims)

谢谢你的帮助!我没有想到使用图像的
copy()
from IPython.html.widgets import interact, interactive, fixed
from IPython.display import display
import skimage
from skimage import data, filter, io

i = data.coffee()

def add_lines(image, line1 = 100, line2 = 200):
  new_image = image.copy()  # Work on a copy
  new_image[line1,:,:] = 0
  new_image[line2,:,:] = 0
  new_image = io.Image(new_image)
  display(new_image)

lims = (0,400,2)
interactive(add_lines, image=fixed(i), line1 = lims, line2 = lims)