相关疑难解决方法(0)

失败了最简单的cv2.remap()测试,又名.我如何在python中使用remap()?

这是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中被打破了吗?

python opencv remap

11
推荐指数
2
解决办法
9920
查看次数

使用光流对比图像

我有两个图像(frame1和frame2),我可以使用opencv计算u,v:

flow = cv2.calcOpticalFlowFarneback(prvs,next, 0.5, 1, 3, 15, 3, 5, 1, 0)
Run Code Online (Sandbox Code Playgroud)

我想使用这个u来翻译frame1,v使用各种光流方法量化差异的质量.我打算用这些来推断你,v.

有没有一种简单的方法来实现这一目标?

python opencv scikit-image

1
推荐指数
1
解决办法
2163
查看次数

标签 统计

opencv ×2

python ×2

remap ×1

scikit-image ×1