图像的读取,显示与保存

读取图片,显示为灰色,s键保存,esc键退出不保存

import cv2
img = cv2.imread("E:test.jpg",0)
cv2.namedWindow("Image")
cv2.imshow("Image", img)
k=cv2.waitKey(0)&0xFF
if k == 27:
    cv2.destroyAllWindows()
elif k == ord('s'):
    cv2.imwrite('E:new.png',img)
    cv2.destroyAllWindows()

读入图像:

cv2.imread(filename,flags)
■ 第一个参数,string类型的filename,填我们需要载入的图片路径名。
在Windows操作系统下,OpenCV的imread函数支持如下类型的图像载入:
- Windows位图 - .bmp, .dib
- JPEG文件 - .jpeg, .jpg, *.jpe
- JPEG 2000文件- *.jp2
- PNG图片 - *.png
- 便携文件格式- .pbm, .pgm, *.ppm
- Sun rasters光栅文件 - .sr, .ras
- TIFF 文件 - .tiff, .tif
■ 第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型。它自带缺省值1.所以有时候这个参数在调用时我们可以忽略
CV_LOAD_IMAGE_GRAYSCALE=0– 如果取这个标识的话,始终将图像转换成灰度
CV_LOAD_IMAGE_COLOR=1– 如果取这个标识的话,总是转换图像到彩色一体
CV_LOAD_IMAGE_ANYDEPTH=2 —如果取这个标识的话,若载入的图像的深度为16位或者32位,就返回对应深度的图像,否则,就转换为8位图像再返回。

显示图像:

  1. 创建一个窗口
    cv2.namedWindow(winname)
    作用:创建了一个可以作为图像和进度条的容器窗口
  2. 在窗口中显示图像
    cv2.imshow(winname,mat)
    ■ 第一个参数:创建的窗口容器的名称
    ■ 第二个参数:要显示的图像,之前已读取
  3. 等待键盘输入
    cv2.waitKey() (64位系统下要写成cv2.waitKey(0)&0xFF)
    这是一个键盘绑定函数。需要指出的是它的时间尺度是毫秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为 -1,如果我们设置这个函数的参数为 0,那它将会无限期的等待键盘输入。可以根据返回按键的ASCII 码值,决定下一步操作。如果没有这个函数,图像将一闪而过。
  4. 释放窗口
    cv2.destroyAllWindows()
    可以删除任何我们建立的窗口。如果你想删除特定的窗口可以在括号内输入你想删除的窗口名。

保存图像:

cv2.imwrite(newfilename , mat, params)
■ 第一个参数:保存的路径及文件名
■ 第二个:图像矩阵
■ 第三个参数:是可选参数,表示为特定格式保存的参数编码,一般情况下不用写,如果有这个需要的话
–对于JPEG格式的图片,这个参数表示从0到100的图片质量,默认值是95.
–对于PNG格式的图片,这个参数表示压缩级别,从0到9。较高的值意味着更小的尺寸和更长的压缩时间,默认值是3。
–对于PPM,PGM,或PBM格式的图片,这个参数表示一个二进制格式标志,取值为0或1,默认值是1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值