python opencv imwrite ...找不到参数 [英] python opencv imwrite ... can't find params
问题描述
我正在将opencv与python一起使用.我想做一个cv2.imwrte:
cv2.imwrite('myimage.png', my_im)
唯一的问题是opencv无法识别params常量:
cv2.imwrite('myimage.png', my_im, cv2.CV_IMWRITE_PNG_COMPRESSION, 0)
它根本找不到CV_IMWRITE_PNG_COMPRESSION.有什么想法吗?
我在cv2
模块中找不到键CV_XXXXX
:
- 尝试
cv2.XXXXX
- 如果失败,请使用
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']
从中我看到MORPH_DILATE
是我要寻找的. p>
但是,有时常量还没有从cv
接口移到cv2
接口.
在这种情况下,您可以在cv2.cv.CV_XXXX
下找到它们.
因此,我为您寻找了IMWRITE_PNG_COMPRESSION
,但找不到它(在cv2....
下),所以我在cv2.cv.CV_IMWRITE_PNG_COMPRESSION
下看了,嘿!在那里:
>>> cv2.cv.CV_IMWRITE_PNG_COMPRESSION
16
I am using opencv with python. I wanted to do an cv2.imwrte:
cv2.imwrite('myimage.png', my_im)
The only problem is that opencv does not recognize the params constants:
cv2.imwrite('myimage.png', my_im, cv2.CV_IMWRITE_PNG_COMPRESSION, 0)
It cannot find CV_IMWRITE_PNG_COMPRESSION at all. Any ideas?
I can't find key CV_XXXXX
in the cv2
module:
- Try
cv2.XXXXX
- Failing that, use
cv2.cv.CV_XXXXX
In your case, cv2.cv.CV_IMWRITE_PNG_COMPRESSION
.
More info.
The docs for OpenCV (cv2 interface) are a bit confusing.
Usually parameters that look like CV_XXXX
are actually cv2.XXXX
.
I use the following to search for the relevant cv2
constant name. Say I was looking for CV_MORPH_DILATE
. I'll search for any constant with MORPH
in it:
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']
From this I see that MORPH_DILATE
is what I'm looking for.
However, sometimes the constants have not been moved from the cv
interface to the cv2
interface yet.
In that case, you can find them under cv2.cv.CV_XXXX
.
So, I looked for IMWRITE_PNG_COMPRESSION
for you and couldn't find it (under cv2....
), and so I looked under cv2.cv.CV_IMWRITE_PNG_COMPRESSION
, and hey presto! It's there:
>>> cv2.cv.CV_IMWRITE_PNG_COMPRESSION
16
这篇关于python opencv imwrite ...找不到参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!