这是remap()最简单的测试用例:
import cv2
import numpy as np
inimg = np.arange(2*2).reshape(2,2).astype(np.float32)
inmap = np.array([[0,0],[0,1],[1,0],[1,1]]).astype(np.float32)
outmap = np.array([[10,10],[10,20],[20,10],[20,20]]).astype(np.float32)
outimg = cv2.remap(inimg,inmap,outmap,cv2.INTER_LINEAR)
print "inimg:",inimg
print "inmap:",inmap
print "outmap:",outmap
print "outimg:", outimg
Run Code Online (Sandbox Code Playgroud)
这是输出:
inimg: [[ 0. 1.]
[ 2. 3.]]
inmap: [[ 0. 0.]
[ 0. 1.]
[ 1. 0.]
[ 1. 1.]]
outmap: [[ 10. 10.]
[ 10. 20.]
[ 20. 10.]
[ 20. 20.]]
outimg: [[ 0. 0.]
[ 0. 0.]
[ 0. 0.]
[ 0. 0.]]
Run Code Online (Sandbox Code Playgroud)
如你所见,outimg产生0,0,它甚至没有正确的形状.我期望20x20或10x10图像的插值从0到3.
我已经阅读了所有文档.它和SO上的每个人都会输入一个起始点的数组(地图),一个结束点的地图,然后重映射()会将img中的所有值放入新的位置,插入任何空白空间.我这样做,但它不起作用.为什么?大多数示例都适用于C++.它在python中被打破了吗?
安装vim-ruby-debugger后插件"劫持"了几个映射.喜欢<leader>n,或者<leader>t我分别用于NERDTreeToggle和Command-T查找.
罪魁祸首是在这个ruby-debugger中的硬编码映射中找到的.
我希望将这些重新映射为<leader>rdX,即:以*r*uby-*d*ebugger为前缀.显然,我可以简单地破解插件并更改那里的映射.但这似乎有些过于苛刻(并且可能会在更新时中断).
我如何取消映射这些映射,所以vim会再次回退到我自己的映射?所以我可以重新映射我的.vimrc中的命令(它应该在哪里,恕我直言).
可以使用Oracle数据泵导入工具(IMPDP.EXE)使用REMAP_SCHEMA选项将一个模式导入另一个模式.但是,存在一个问题,即触发器未正确重新映射.这导致触发器根本没有创建错误,如下所示:
ORA-39083: Object type TRIGGER failed to create with error: ORA-00942: table or view does not exist Failing sql is: CREATE TRIGGER "**NEW_SCHEMA**"."METER_ALARMS_BI" BEFORE INSERT ON
**OLD_SCHEMA**.METER_ALARMS ...
Run Code Online (Sandbox Code Playgroud)
原因是因为create SQL仍然引用OLD_SCHEMA.它确实在Oracle文档中说:
映射可能不是100%完成,因为某些模式引用导入无法查找.例如,Import将找不到嵌入在类型,视图,过程和包的定义主体中的模式引用.
恕我直言,这是甲骨文的一个警察,但这是另一个讨论!
根据Oracle Metalink说明750783.1,解决方法是:
- 创建一个SQLFILE以包含相关的DDL命令:
impdp system/****** directory=test_dp
DUMPFILE=export_schemas.dmp
remap_schema=u1:u2 sqlfile=script.sql
Run Code Online (Sandbox Code Playgroud)
- 从写入的SQLFILE中提取受影响的DDL并更正模式引用.然后手动执行该命令.
这不是一个好方法,特别是如果你有许多失败的对象,并希望自动化组合多个模式的过程,以便在数据库的字段升级.
有没有人找到更好的方法来做到这一点?如果要在现场使用,我需要一个必须100%可靠的解决方案.我可以解析生成的SQL文件,但可以100%正确吗?是否有一些方法可以拦截IMPDP执行的CREATE SQL语句并在导入时动态更正?可以直接修补DMP文件吗?
在vim中,当我点击:wq它时几乎总是在尝试输入时发生的事故:w.我想禁用:wq.
我找到的最接近的是cmap,但它有一些奇怪的行为.如果我做的事情
:cmap wq w
Run Code Online (Sandbox Code Playgroud)
我甚至不能输入:wq; 它只是将击键序列重新映射wq到w命令模式.例如,我不能在包含的字符串上输入搜索/替换命令wq.
我只是想别名的准确命令:wq到:w或无操作.有没有办法做到这一点?
编辑:澄清为什么:cmap不是我的选择
我不在乎这是在 bios 还是内核模块或软件中完成的。在 macbook pro 上运行的 linux 中,有什么办法可以让“fn”键充当“control”,“control”键充当“fn”?
附注。您可以使用 OSX 中的应用程序 KeyRemap4MacBook 来完成此操作。
我整天点击鼠标都会导致肌腱炎.
在过去,我使用Karabiner重新映射fn键来模拟鼠标左键.然而,它不适用于塞拉利昂.
我试图在Cocoa中实现这一点,并且当我按下并释放时它正确执行鼠标按下/向上fn.
但是它不处理双击/三击.
此外,当拖动(例如拖动窗口或选择一些文本)时,直到我键入才会在视觉上发生任何事情,于是它完成了.
如何调整我的代码来实现它?
首先,我创建一个事件点击:
- (BOOL)tapEvents
{
_modifiers = [NSEvent modifierFlags];
if ( ! _eventTap ) {
NSLog( @"Initializing an event tap." );
// kCGHeadInsertEventTap -- new event tap should be inserted before
// any pre-existing event taps at the same location,
_eventTap = CGEventTapCreate( kCGHIDEventTap, // kCGSessionEventTap,
kCGHeadInsertEventTap,
kCGEventTapOptionDefault,
CGEventMaskBit( kCGEventKeyDown )
| CGEventMaskBit( kCGEventFlagsChanged )
| CGEventMaskBit( NSSystemDefined )
,
(CGEventTapCallBack)_tapCallback,
(__bridge void *)(self));
if ( ! _eventTap ) {
NSLog(@"unable …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来在我的emacs窗口中切换我的控制键和大写锁定键,但当我去任何其他程序如Firefox时,我希望能够使用新窗口的常规控制按钮,标签等.
附加信息:我正在使用Ubuntu,但所有系统的答案都很好,因为其他人可能想知道如何在他们的系统上执行此操作.
我想将<<和>>映射到单个键以加快我的工作流程,但我找不到有关如何在我的vimrc中编写重映射的任何信息.知道我怎么能重新加载我?
我的左手腕总是受到RSI的影响(见这里),我认为这是因为与按下ctrl和shift键相关的扭转动作.因此,我继续购买了下面显示的Advantage Kinesis键盘:

然而,即使使用这个键盘和脚踏板,并将shift键映射到Back Space,我仍然有RSI,再次只在我的左手.然后它对我来说很明显,大量的运动键与左手相关联.这是右边的东西,然后是左手的非详尽列表.
右手:
p 一个简单的粘贴语句,几乎总是单独使用o 在当前行上方/下方写入,几乎总是单独使用i 写入光标,几乎总是单独使用u 撤消,几乎总是单独使用y抽出,用于与运动命令,但只能在右侧的几个运动符(即(,),i...)h,j,k,l,单个字符的运动,很少使用.现在观察
左手:
w,e,b运动一个字.经常与数字一起使用,或多次按下.t,f,$所有结合键等y,d或vw+ h,j,k,或者l,移动窗口,并要求用你的左手一个跃动.x Ctrl f 全方位完成(IIRC)f Ctrl g 在光标下查找文件现在我确信这是一个有偏见的列表,但它得到了我的观点,大量常用的动作键和一些其他困难的组合位于键盘的左侧.
我的问题是,是否有一种非重塑的方式来做到这一点?例如,有没有任何图书馆这样做?如果没有,如果我切换到DVORAK,这会解决我提到的任何问题吗?
具体来说,我正在尝试将 MacBook 的 fn 键映射到鼠标左键单击。
早在我使用 Windows 的时候,我遇到了一个很棒的小实用程序,它可以让我将任何东西映射到任何东西: http: //www.autohotkey.com/
您创建一个小文本文件,例如
^!s:: ; CTRL + ALT + s
Send Sincerely,{enter}John Smith ; sends keystrokes to active window
return
Run Code Online (Sandbox Code Playgroud)
创建一个简单的文本文件比任何基于 GUI 的重新映射器要好得多。
确实,这是我真正怀念 Windows 的一件事。
所以我的问题是:我该如何在 OS X 中执行此操作?每次 Google 搜索都会指向https://pqrs.org/macosx/keyremap4macbook/,我不喜欢这个包:它有一个极其混乱的 GUI。
如果我能在 shell 脚本中完成它,甚至编译代码,我会非常高兴。