Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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在Python2中给出了调整大小的错误,但在Python3中没有_Python_Opencv - Fatal编程技术网

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之间或者两个方法之间有什么区别?