当前位置:首页 » 《随便一记》 » 正文

OpenCV基础操作_图片读取和保存

24 人参与  2023年05月04日 14:09  分类 : 《随便一记》  评论

点击全文阅读


目录

1 图片读取

2 图片保存


1 图片读取

在OpenCV中,加载图片采用imread()函数。

函数详细说明在:Reading and Writing Images and Video — OpenCV 2.4.13.7 documentation

Python: cv2.imread(filename[, flags]) 

函数功能:

imread 功能是加载图像文件成为一个 Mat 对象。

imread支持的文件类型有:

Windows bitmaps - *.bmp, *.dib (always supported)JPEG files - *.jpeg, *.jpg, *.jpe (see the Notes section)JPEG 2000 files - *.jp2 (see the Notes section)Portable Network Graphics - *.png (see the Notes section)Portable image format - *.pbm, *.pgm, *.ppm (always supported)Sun rasters - *.sr, *.ras (always supported)TIFF files - *.tiff, *.tif (see the Notes section)

参数说明:

        第一个参数表示图像文件名称;

        第二个参数表示加载的图像是什么类型,支持常见的三个参数值。可以直接使用数字来代替(1,0,-1),默认值为IMREAD_UNCHANDED.

 IMREAD_UNCHANDED(<0) 表示加载原图,不做任何改变 , 包括alpha通道,可以直接写-1 IMREAD_GRAYSCALE(0) 表示把原图作为灰度图像加载进来。 IMREAD_COLOR(>0) 表示默认参数,读入一副彩色图片,忽略alpha通道

接下来,我们分别用三个Flag加载图片:

import cv2 img = cv2.imread("./1.jpeg")# 打印图像类型print(type(img))print(img)cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()

按任意键退出弹出的画面。

原图:

 IMREAD_UNCHANDED图如下:

<class 'numpy.ndarray'>[[[248 201 140]  [248 201 140]  [248 201 140]  ...  [244 222 204]  [244 222 204]  [244 222 204]] [[248 201 140]  [248 201 140]  [248 201 140]......

 IMREAD_GRAYSCALE图和打印如下:

<class 'numpy.ndarray'>[[188 188 188 ... 219 219 219] [188 188 188 ... 219 219 219] [188 188 188 ... 218 218 218] ... [ 41  34  25 ... 121 121 123] [ 55  49  41 ... 136 134 135] [ 77  70  59 ... 125 126 129]]

IMREAD_COLOR图和打印如下:

<class 'numpy.ndarray'>[[[248 201 140]  [248 201 140]  [248 201 140]  ...  [244 222 204]  [244 222 204]  [244 222 204]] [[248 201 140]  [248 201 140]  [248 201 140]  ...

2 图片保存

图片保存使用的是imwrite()或是SaveImage()

Python: cv2.imwrite(filename, img[, params]) 

Python: cv.SaveImage(filename, image)

原函数定义如下:Reading and Writing Images and Video — OpenCV 2.4.13.7 documentation

函数功能:

      将mat格式转换为image文件保存,支持的格式和imread一致。

函数参数:

      filename:保存的文件名。后缀名将会被自动用来表示标示文件类型。

      image:图片数据

      parems:表示为特定格式保存的参数编码,它有默认值。参数是以参数对的方式进行设置的。

对于JPEG格式的图片,这个参数表示从0-100的图片质量(CV_IMWRITE_JPEG_QUALITY),默认值是95.

对于PNG格式的图片,这个参数表示压缩级别(CV_IMWRITE_PNG_COMPRESSION)从0-9.较高的值意味着更小的尺寸和更长的压缩时间而默认值是3.

对于PPM,PGM或PBM格式的图片,这个参数表示一个二进制格式标志(CV_IMWRITE_PXM_BINARY),取值为0或1,而默认值为1.

下面保存成jpg的图片看看:

import cv2img = cv2.imread("./1.jpeg")# 打印图像类型print(type(img))print(img)cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()cv2.imwrite("demo_output_qd.jpg",img)cv2.imwrite("demo_output_Q10.jpg",img,[int(cv2.IMWRITE_JPEG_QUALITY),10])cv2.imwrite("demo_output_Q100.jpg",img,[int(cv2.IMWRITE_JPEG_QUALITY),100])

在同级目录下面新增加了3个文件:

比如:CV_IMWRITE_JPEG_QUALITY为10:

而当这个值为100时候:


点击全文阅读


本文链接:http://zhangshiyu.com/post/60676.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 老婆迷信害死丈母娘,知道真相后她后悔疯了(吴茉莉李秀全)列表_老婆迷信害死丈母娘,知道真相后她后悔疯了(吴茉莉李秀全)老婆迷信害死丈母娘,知道真相后她后悔疯了在线
  • [男友的未婚妻不是我]章节限时抢先看‌_「顾川阿月宝贝」后续在线阅读
  • 「你是我未拆的遗书」最新章节目录番外+全文_[裴谨言桑年]小说章节分享
  • 老公把小狗崽塞进我子宫口碑神作必读篇章_[子宫老公狗宝宝]后续完结版
  • 我在回忆里万劫不复优质(秦见鹿谢梵声)_我在回忆里万劫不复优质秦见鹿谢梵声
  • 完结文我在回忆里万劫不复完结+番外列表_完结文我在回忆里万劫不复完结+番外(秦见鹿谢梵声)
  • 爱你是判决无期全文完结版阅读_[宋曦语裴时域林安安]人物羁绊章节精选
  • 画地为牢宝藏文(池念谢宴清)全书浏览_画地为牢宝藏文全书浏览
  • 画地为牢全书+后续+番外(池念谢宴清)列表_画地为牢全书+后续+番外(池念谢宴清)全书+后续+结局在线
  • 「我送卿归去,爱恨不由己」全文完结版阅读_「萧盈孟天楚孟天衡」小说后续在线免费阅读
  • 「重生后手撕职业打假的表妹」剧情悬念章节分段解锁_林婉路过原谅完结版全文
  • (番外)+(全书)沈昭宜傅沉砚(填我十万八千梦+结局+番外)全书在线_沈昭宜傅沉砚免费列表_笔趣阁(填我十万八千梦+结局+番外)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1