Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Opencv 火炬cv.1透视图:结果图像为黑色_Opencv_Torch - Fatal编程技术网

Opencv 火炬cv.1透视图:结果图像为黑色

Opencv 火炬cv.1透视图:结果图像为黑色,opencv,torch,Opencv,Torch,我使用的是cv.WarpPerspectiveTransform(),其中的转换是从cv.getPerspectiveTransform()获得的 但是,扭曲的图像是黑色图像(即每个条目为0) 有人能告诉我我做错了什么吗?非常感谢命令中,但是对于 cv.GETPosiTIVE转换应该在(x,y)顺序中,至少在Python和C++实现中。不确定这是否是主要问题。@AlexanderReynolds谢谢你的评论!我认为坐标的顺序是(x,y),因为我的x轴指向下方(即高度方向),y轴指向右侧(即宽度方

我使用的是cv.WarpPerspectiveTransform(),其中的转换是从cv.getPerspectiveTransform()获得的

但是,扭曲的图像是黑色图像(即每个条目为0)


有人能告诉我我做错了什么吗?非常感谢(y,x)< /C>命令中,但是对于<代码> cv.GETPosiTIVE转换应该在(x,y)顺序中,至少在Python和C++实现中。不确定这是否是主要问题。@AlexanderReynolds谢谢你的评论!我认为坐标的顺序是
(x,y)
,因为我的x轴指向下方(即高度方向),y轴指向右侧(即宽度方向)。此外,我在另一种方法中使用了
cv.getPerspectiveTransform
的结果,它工作正常,因此我猜问题不在于变换矩阵的计算。
local img = image.load(file_name)
local w, h = img:size[3], img:size[2]
local src = torch.FloatTensor(4,2)
src[1][1], src[1][2] = 1, 1
src[2][1], src[2][2] = h, 1
src[3][1], src[3][2] = h, w
src[4][1], src[4][2] = 1,w
local dst = torch.FloatTensor(4,2)
dst[1][1], dst[1][2] = src[1][1], src[1][2]
dst[2][1], dst[2][2] = src[2][1], src[2][2]
dst[3][1], dst[3][2] = src[3][1], src[3][2]
dst[4][1], dst[4][2] = torch.floor(src[4][1]/2), torch.floor(src[4][2]/2)

local M = cv.getPerspectiveTransform{src, dst}
local new_h = torch.max(dst[{{},{1}}]) - torch.min(dst[{{},{1}}]) + 1
local new_w = torch.max(dst[{{},{2}}]) - torch.min(dst[{{},{2}}]) + 1
local warped_img = torch.FloatTensor(3, new_h, new_w)
cv.warpPerspective{src=img, dst=warped_img, M=M:float()}