OpenCV:为深度图调整视频帧大小时出错
OpenCV: error in resizing video's frame for depthmap
我正在使用 opencv3.4 执行深度图。
当我获得校准文件时,我想要视差图 true 2 立体相机。
为了做到这一点,我调用了校准文件,但是当我尝试调整大小并重新映射视频 windows 时,出现以下错误。
注意:同一脚本适用于仅从 8 张图像中获取的校准文件。当前文件来自 21 张图像。
可能是什么问题?
错误
这是我尝试 运行 部门地图
时显示的所有内容
File "<ipython-input-5-f2eac343bb87>", line 1, in <module>
runfile('C:/Users/gaetano/Desktop/SONIDO ORIGINAL/biggerDepth2.py', wdir='C:/Users/gaetano/Desktop/SONIDO ORIGINAL')
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/gaetano/Desktop/SONIDO ORIGINAL/biggerDepth2.py", line 68, in <module>
dst= cv2.resize(dst, (0,0),dst, 2.0, 2.0, cv2.INTER_LINEAR)
error: C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215) ssize.width > 0 && ssize.height > 0 in function cv::resize
代码
这段代码末尾的line resize中的代码中断,所以重映射应该没问题。
我给x
、y
、w
、h
的值有问题吗?或者可能是关于矩阵位数的问题?
ret, frame = cap1.read()
ret, frame2 = cap2.read()
#cv2.imshow('frame', frame)
#cv2.imshow('frame2', frame2)
#imgL = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#imgR = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
## dst = cv2.remap(frame, mapx1, mapy1,
cv2.INTER_LINEAR,cv2.BORDER_CONSTANT, 0)
# imgL_rectified = cv2.remap(imgL, camera_config.left_map1,
camera_config.left_map2, cv2.INTER_LINEAR)
dst = cv2.remap(frame, mapx1, mapy1, cv2.INTER_LINEAR)
dst = dst[y:y + h, x:x + w]
#print(dst)
## dst2 = cv2.remap(frame2, mapx2, mapy2,
cv2.INTER_LINEAR,cv2.BORDER_CONSTANT, 0)
dst2 = cv2.remap (frame2, mapx2, mapy2, cv2.INTER_LINEAR)
dst2 = dst2[y:y + h, x:x + w]
dst= cv2.resize(dst, (0,0),dst, 2.0, 2.0, cv2.INTER_LINEAR)
dst2 = cv2.resize(dst2, (0,0),dst2, 2.0, 2.0,cv2.INTER_LINEAR)
看看下面的link,
此外,检查 ret
在 ret, frame = cap1.read()
中返回的值。我认为这可能是假的,根本没有读取图像。
我正在使用 opencv3.4 执行深度图。 当我获得校准文件时,我想要视差图 true 2 立体相机。 为了做到这一点,我调用了校准文件,但是当我尝试调整大小并重新映射视频 windows 时,出现以下错误。 注意:同一脚本适用于仅从 8 张图像中获取的校准文件。当前文件来自 21 张图像。 可能是什么问题?
错误
这是我尝试 运行 部门地图
时显示的所有内容 File "<ipython-input-5-f2eac343bb87>", line 1, in <module>
runfile('C:/Users/gaetano/Desktop/SONIDO ORIGINAL/biggerDepth2.py', wdir='C:/Users/gaetano/Desktop/SONIDO ORIGINAL')
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/gaetano/Desktop/SONIDO ORIGINAL/biggerDepth2.py", line 68, in <module>
dst= cv2.resize(dst, (0,0),dst, 2.0, 2.0, cv2.INTER_LINEAR)
error: C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215) ssize.width > 0 && ssize.height > 0 in function cv::resize
代码
这段代码末尾的line resize中的代码中断,所以重映射应该没问题。
我给x
、y
、w
、h
的值有问题吗?或者可能是关于矩阵位数的问题?
ret, frame = cap1.read()
ret, frame2 = cap2.read()
#cv2.imshow('frame', frame)
#cv2.imshow('frame2', frame2)
#imgL = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#imgR = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
## dst = cv2.remap(frame, mapx1, mapy1,
cv2.INTER_LINEAR,cv2.BORDER_CONSTANT, 0)
# imgL_rectified = cv2.remap(imgL, camera_config.left_map1,
camera_config.left_map2, cv2.INTER_LINEAR)
dst = cv2.remap(frame, mapx1, mapy1, cv2.INTER_LINEAR)
dst = dst[y:y + h, x:x + w]
#print(dst)
## dst2 = cv2.remap(frame2, mapx2, mapy2,
cv2.INTER_LINEAR,cv2.BORDER_CONSTANT, 0)
dst2 = cv2.remap (frame2, mapx2, mapy2, cv2.INTER_LINEAR)
dst2 = dst2[y:y + h, x:x + w]
dst= cv2.resize(dst, (0,0),dst, 2.0, 2.0, cv2.INTER_LINEAR)
dst2 = cv2.resize(dst2, (0,0),dst2, 2.0, 2.0,cv2.INTER_LINEAR)
看看下面的link,
此外,检查 ret
在 ret, frame = cap1.read()
中返回的值。我认为这可能是假的,根本没有读取图像。