kam*_*pta 8 python opencv image opencv3.0
我想使用imwrite没有任何扩展名的opencv保存图像。我知道图像格式cv2.imwrite是根据filename扩展名选择的。是否可以在调用函数时指定压缩格式,还是一旦创建文件就必须重命名文件?
cv2.imwrite(filename, img)
[Out]: /home/travis/miniconda/conda-bld/work/opencv-3.1.0/modules/imgcodecs/src/loadsave.cpp:459: error: (-2) could not find a writer for the specified extension in function imwrite_
Run Code Online (Sandbox Code Playgroud)
我不明白你这样做的动机,但如果你想将不带扩展名的 JPEG 写入磁盘.JPG,或不带扩展名的 PNG 文件.PNG,你可以简单地对内存缓冲区进行编码,然后将其写入磁盘。
所以,如果我加载这样的图像:
import cv2
# Load image
im = cv2.imread('image.jpg')
Run Code Online (Sandbox Code Playgroud)
我现在应该处于与您相同的位置,并且我的变量中有一个图像im。
我现在可以将图像编码到内存缓冲区,并将该内存缓冲区写入磁盘而不进行扩展:
success, buffer = cv2.imencode(".jpg",im)
buffer.tofile('ExtensionlessFile')
Run Code Online (Sandbox Code Playgroud)