基于此处的ImageView.imshow文档: https://github.com/JuliaImages/ImageView.jl
看起来应该可以以编程方式更改imshow查看器的缩放矩形,但是我无法找到具体方法来实现此目的,并且我不确定如何创建对象发送信号的正确类型。
如果我这样做:
guidict = imshow( videog )
zr = guidict["roi"]["zoomregion"]
zr
我得到:
10: "input-21" = ZoomRegion{RInt64}(XY(1..640, 1..480), XY(1..640, 1..480)) ZoomRegion{RInt64}
除了类型的复杂性外,我不明白为什么需要在此处两次指定缩放区域。
在任何情况下,如果我这样做:
push!( zr, ZoomRegion{RInt64}( XY(200..280, 280..360), XY(200:280, 280..360) ) )
(我尝试将X的缩放比例设置为200:280,将Y的缩放比例设置为280:360)
我收到以下错误:
ERROR: promotion of types UnitRange{Int64} and IntervalSets.Interval{:closed,:closed,Int64} failed to change any arguments
Stacktrace:
[1] error(::String, ::String, ::String) at ./error.jl:42
[2] sametype_error(::Tuple{UnitRange{Int64},IntervalSets.Interval{:closed,:closed,Int64}}) at ./promotion.jl:308
[3] not_sametype(::Tuple{UnitRange{Int64},IntervalSets.Interval{:closed,:closed,Int64}}, ::Tuple{UnitRange{Int64},IntervalSets.Interval{:closed,:closed,Int64}}) at ./promotion.jl:302
[4] promote at ./promotion.jl:285 [inlined]
[5] XY(::UnitRange{Int64}, ::IntervalSets.Interval{:closed,:closed,Int64}) at /home/flynn/.julia/packages/GtkReactive/2h7NX/src/graphics_interaction.jl:93
[6] top-level scope at none:0
有人有具体的示例吗?
答案 0 :(得分:2)
缩放区域由两个部分组成,即全视图和当前视图。当您按下信号时,您仅在移动当前视图(可处理缩放)。
您可以在按下按钮时使用单位范围,
push!(zr, (200:280, 280:360))
要将其重置为完整视图,只需执行以下操作
push!(zr, zr.value.fullview)