Opencv在Python2中给出了调整大小的错误,但在Python3中没有
我正在尝试将大小Opencv在Python2中给出了调整大小的错误,但在Python3中没有,python,opencv,Python,Opencv,我正在尝试将大小(320800)的图像调整为(319,70)。我在两个conda环境中运行这个程序,它们都有相同版本的opencv。代码是: def pre_process(img, x1=319, x2=70, row_start=400, col_start=200): cv_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) cv_img = cv2.bilateralFilter(cv_img,9,75,75) crop_img
(320800)
的图像调整为(319,70)
。我在两个conda环境中运行这个程序,它们都有相同版本的opencv。代码是:
def pre_process(img, x1=319, x2=70, row_start=400, col_start=200):
cv_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
cv_img = cv2.bilateralFilter(cv_img,9,75,75)
crop_img = cv_img[row_start:1080,col_start:1000]
print(crop_img.shape)
f_x = x1/crop_img.shape[1]
f_y = x2/crop_img.shape[0]
crop_img = cv2.resize(crop_img, None, fx = f_x, fy = f_y,interpolation = cv2.INTER_CUBIC)
img
的形状是(7201280,3)
它似乎适用于python 3,但不知怎的,我在python 2中遇到了以下错误:
cv2.error: OpenCV(3.4.1)
/feedstock_root/build_artefacts/opencv_1520722613778/work/opencv-
3.4.1/modules/imgproc/src/resize.cpp:4045: error: (-215) dsize.area() 0 || (inv_scale_x > 0 && inv_scale_y > 0) in function resize
我甚至将此作为参考,但似乎我从另一个角度得到了错误,而不是ssize
,问题在于dsize
我必须使用python 2进行其他处理,这是我的限制。有什么建议可以解决这个问题吗?您已经知道要将图像调整到什么尺寸 您应该使用
crop\u img=cv2.resize(crop\u img,(70319),interpolation=cv2.INTER\u CUBIC)
有两种方法可以调整图像的大小:
fx
和fy
是与原始图像中的行数和列数相乘的因子李>
哇!这起作用了。但是很奇怪,为什么我在Python2中遇到这个错误而不是在Python3中?还有,这两者有什么区别?(对不起,我没有足够的分数来接受这个答案)@sarvagyagupt答案中的python2和3之间或者两个方法之间有什么区别?