当前位置: 首页 > news >正文

python使用cv2库实现图像的读取处理显示和保存

目录

imread(img_path,flag) 读取图片,返回图片对象

 imshow(window_name,img) 显示图片,窗口自适应图片大小

imwrite(img_path_name,img,name) 保存图像

cv2.flip(img,flipcode) 翻转图像,flipcode控制翻转效果

imgcopy = img.copy() 复制图像

cv2.cvtColor(img,cv2.COLOR_X2Y) 颜色空间转

代码示例


imread(img_path,flag) 读取图片,返回图片对象

    img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None
    flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1
              cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0
              cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1

 imshow(window_name,img) 显示图片,窗口自适应图片大小

    window_name: 指定窗口的名字
    img:显示的图片对象

imwrite(img_path_name,img,name) 保存图像

    img_path_name:保存的文件名
    img:文件对象
    num:可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别,默认为3。也可存为BMP格式

cv2.flip(img,flipcode) 翻转图像,flipcode控制翻转效果

  • flipcode = 0:沿x轴翻转
  • flipcode > 0:沿y轴翻转
  • flipcode < 0:x,y轴同时翻转

imgcopy = img.copy() 复制图像

cv2.cvtColor(img,cv2.COLOR_X2Y) 颜色空间转

     cv2.COLOR_X2Y,其中X,Y = RGB, BGR, GRAY, HSV, YCrCb, XYZ, Lab, Luv, HLS

代码示例

import cv2

image = cv2.imread("1.bmp",cv2.IMREAD_GRAYSCALE)
#图像翻转
imgflip = cv2.flip(image,0)

#图像复制
imgcopy = image.copy()

#灰度图像转为彩色图像
img3 = cv2.cvtColor(imgcopy,cv2.COLOR_GRAY2RGB)
#彩色图像转为灰度图像
img2 = cv2.cvtColor(img3,cv2.COLOR_RGB2GRAY) 

cv2.imshow('image',image)
cv2.imwrite("1-save.bmp",image)
cv2.waitKey(0)  #等待输入任何按键,当用户输入任何一个按键后即调用destroyAllWindows()关闭所有图像窗口
cv2.destroyAllWindows()  # 摧毁窗口

相关文章:

  • 二道题:分组顺序向下填充 和 标注数据整理
  • 节日网页HTML代码 学生网页课程设计期末作业下载 清明节大学生网页设计制作成品下载 DW节日网页作业代码下载
  • 生命在于折腾——某国外cms代码审计
  • 『从零开始学小程序』媒体组件audio组件
  • [HJ73 计算日期到天数转换]
  • FastDFS数据迁移
  • Java Web 10 JSP 10.3 JSP 原理
  • extern “C“
  • 基于ARM9平台的网络可视电话设计
  • [Qualcomm][GPIO]高通芯片引脚相关知识记录
  • 平衡二叉树之红黑树
  • 【python-Unet】计算机视觉~舌象舌头图片分割~机器学习
  • 【云原生】Hive on k8s 环境部署
  • 一起来学Kotlin:概念:1. Kotlin ArrayListOf 的使用案例
  • 基于MATLAB/GUI的自组网仿真平台,对比leach,ADOV协议
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 10个确保微服务与容器安全的最佳实践
  • ES6简单总结(搭配简单的讲解和小案例)
  • Java面向对象及其三大特征
  • Java知识点总结(JavaIO-打印流)
  • java中具有继承关系的类及其对象初始化顺序
  • JS笔记四:作用域、变量(函数)提升
  • k8s如何管理Pod
  • Linux各目录及每个目录的详细介绍
  • Node项目之评分系统(二)- 数据库设计
  • React组件设计模式(一)
  • Redis在Web项目中的应用与实践
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 如何解决微信端直接跳WAP端
  • 如何利用MongoDB打造TOP榜小程序
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 正则表达式小结
  • 正则学习笔记
  • 从如何停掉 Promise 链说起
  • 交换综合实验一
  • # 飞书APP集成平台-数字化落地
  • #162 (Div. 2)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $L^p$ 调和函数恒为零
  • (C#)一个最简单的链表类
  • (floyd+补集) poj 3275
  • (NSDate) 时间 (time )比较
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (南京观海微电子)——I3C协议介绍
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)Sublime Text3配置Lua运行环境
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • []常用AT命令解释()