3.图像的存储与窗口操作

图像的存储与窗口操作

1.API介绍

创建窗口的API是namedWindow,该API实现的功能是:
创建一个窗口,可以用作图像和轨迹栏的占位符。创建的窗口通过它们的名称来引用。
API定义如下:

def namedWindow(winname, flags=None)

winname: 创建的窗口名称
flags: 创建的窗口类型,默认是None

flags取值如下:

WINDOW_NORMAL = 0 # 用户可以调整大小
WINDOW_AUTOSIZE = 1 # 自动调整到显示图像的大小
WINDOW_FULLSCREEN = 1 # 将窗口更改为全屏
WINDOW_OPENGL = 4096 # 支持opengl的窗口

WINDOW_FREERATIO = 256 # 图像尽可能地扩展,不受比例约束
WINDOW_KEEPRATIO = 0 # 保持图像比例扩展

WINDOW_GUI_EXPANDED = 0 # 新的增强的GUI
WINDOW_GUI_NORMAL = 16 # 绘制窗口的旧方法

销毁所有窗口:

def destroyAllWindows()

销毁指定的窗口:

def destroyWindow(winname)

winname: 要被关闭的窗口

2.保存图像

保存图像的API是imwrite,该API实现的功能是:
将图像保存到指定文件,图像格式是根据文件扩展名选择的。
一般支持以下格式图片:

1)Windows位图,\*.bmp,\*.dib
(2)JPEG文件,\*.JPEG、\*.jpg、\*.jpe
(3)JPEG 2000文件,\*.jp2
(4)便携式网络图形,\*.png
(5)WebP,\*.webp
(6)Sun rasters, \*.sr, \*.ras
(7)TIFF文件,\*.TIFF,\*.tif
(8)OpenEXR图像文件,\*.exr
(9)Radiance HDR,\*.HDR,\*.pic
(10)GDAL支持的栅格和矢量地理空间数据

API定义如下:

def imwrite(filename, img, params=None)

filename: 要保存的文件名,可以包括路径
img: 要保存的图像
params: 格式化编码为成对的特定参数

params可取值如下:

IMWRITE_EXR_TYPE = 48

IMWRITE_EXR_TYPE_FLOAT = 2
IMWRITE_EXR_TYPE_HALF = 1

IMWRITE_JPEG2000_COMPRESSION_X1000 = 272

IMWRITE_JPEG_CHROMA_QUALITY = 6

IMWRITE_JPEG_LUMA_QUALITY = 5

IMWRITE_JPEG_OPTIMIZE = 3
IMWRITE_JPEG_PROGRESSIVE = 2
IMWRITE_JPEG_QUALITY = 1

IMWRITE_JPEG_RST_INTERVAL = 4

IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1
IMWRITE_PAM_FORMAT_GRAYSCALE = 2

IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3

IMWRITE_PAM_FORMAT_NULL = 0
IMWRITE_PAM_FORMAT_RGB = 4

IMWRITE_PAM_FORMAT_RGB_ALPHA = 5

IMWRITE_PAM_TUPLETYPE = 128

IMWRITE_PNG_BILEVEL = 18
IMWRITE_PNG_COMPRESSION = 16
IMWRITE_PNG_STRATEGY = 17

IMWRITE_PNG_STRATEGY_DEFAULT = 0
IMWRITE_PNG_STRATEGY_FILTERED = 1
IMWRITE_PNG_STRATEGY_FIXED = 4

IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2

IMWRITE_PNG_STRATEGY_RLE = 3

IMWRITE_PXM_BINARY = 32

IMWRITE_TIFF_COMPRESSION = 259
IMWRITE_TIFF_RESUNIT = 256
IMWRITE_TIFF_XDPI = 257
IMWRITE_TIFF_YDPI = 258

IMWRITE_WEBP_QUALITY = 64

含义如下:
在这里插入图片描述
代码示例:

import cv2 as cv

img = cv.imread('./image/sign.png')  # 默认方式

# 保存图片
cv.imwrite("./image/sign1.jpg", img)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值