python opencv imwrite ...找不到params

ahm*_*adh 7 python opencv

我正在使用opencv和python.我想做一个cv2.imwrte:

cv2.imwrite('myimage.png', my_im)
Run Code Online (Sandbox Code Playgroud)

唯一的问题是opencv无法识别params常量:

cv2.imwrite('myimage.png', my_im, cv2.CV_IMWRITE_PNG_COMPRESSION, 0)
Run Code Online (Sandbox Code Playgroud)

根本找不到CV_IMWRITE_PNG_COMPRESSION.有任何想法吗?

mat*_*fee 24

CV_XXXXXcv2模块中找不到密钥:

  1. 尝试 cv2.XXXXX
  2. 如果做不到,请使用 cv2.cv.CV_XXXXX

在你的情况下,cv2.cv.CV_IMWRITE_PNG_COMPRESSION.


更多信息.

OpenCV(cv2接口)的文档有点令人困惑.

通常看起来像参数CV_XXXX实际上是cv2.XXXX.

我使用以下内容搜索相关的cv2常量名称.说我在找CV_MORPH_DILATE.我将在其中搜索任何常量MORPH:

import cv2
nms = dir(cv2) # list of everything in the cv2 module
[m for m in nms if 'MORPH' in m]
# ['MORPH_BLACKHAT', 'MORPH_CLOSE', 'MORPH_CROSS', 'MORPH_DILATE',
#  'MORPH_ELLIPSE', 'MORPH_ERODE', 'MORPH_GRADIENT', 'MORPH_OPEN',
#  'MORPH_RECT', 'MORPH_TOPHAT']
Run Code Online (Sandbox Code Playgroud)

从这里我看到这MORPH_DILATE就是我在寻找的东西.

但是,有时候常量还没有从cv界面移动到cv2界面.

在这种情况下,你可以找到它们cv2.cv.CV_XXXX.

所以,我找了IMWRITE_PNG_COMPRESSION你,找不到它(下cv2....),所以我看了下cv2.cv.CV_IMWRITE_PNG_COMPRESSION,嘿嘿!在那:

>>> cv2.cv.CV_IMWRITE_PNG_COMPRESSION
16
Run Code Online (Sandbox Code Playgroud)