opencv学习二:加载显示图片

news2025/1/18 20:12:06

文章目录

  • 加载显示图片
    • (一)函数
      • 1.imread()读取图片
          • (1)matplotlib和opencv中imread函数的区别

加载显示图片

(一)函数

1.imread()读取图片

Mat imread(const string& filename, int flags=1 );
  • 第一个参数,const string&类型的filename,填我们需要载入的图片路径名
    • 在Windows操作系统下,OpenCV的imread函数支持如下类型的图像载入:
      • JPEG文件 - *.jpeg, *.jpg, *.jpe
      • PEG 2000文件- *.jp2
      • PNG图片 - *.png
      • 便携文件格式- *.pbm, *.pgm, *.ppm
      • Sun rasters光栅文件 - *.sr, *.ras
      • TIFF 文件 - *.tiff, *.tif
      • Windows位图 - * .bmp,*.dib
  • 第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型。默认读取的是彩色图片
(1)matplotlib和opencv中imread函数的区别

原图:

matplotlib:

# 导入opencv包
import cv2
import matplotlib.pyplot as plt

# 读取图片
img = plt.imread('cat.jpeg')
cv2.imshow('cat', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

opencv:

# 导入opencv包
import cv2

# 读取图片
img = cv2.imread('cat.jpeg')
cv2.imshow('cat', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

发现这个猫的样子没变, 但是颜色不太对, 这是因为OpenCV读取的图片颜色通道是按照==BGR(蓝绿红)==排列的, 一般图片通道都是按照RGB来排列的.为了正常的显示猫的图片, 我们要用OpenCV的图像显示方法:cv2.imread('cat.jpeg')

我们可以把显示图片的方法封装成一个函数方便我们显示图片:

def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1280576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASP.NET-BS结构的城市酒店入住信息管理系统的设计

2 理论基础 2.1 数据库技术 数据库技术应用中,经常用到的基本概念有:数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)、数据库技术及数据模型。 数据库技术是研究数据库的结构、…

【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装)

【Linux服务器Java环境搭建】01购买云服务器以及在服务器中安装Linux系统 【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器 【Linux服务器Java环境搭建】03 Git工具安装 【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装) 【Linux服…

【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器

【Linux服务器Java环境搭建】01购买云服务器以及在服务器中安装Linux系统 【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器 【Linux服务器Java环境搭建】03 Git工具安装 【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装) 【Linux服…

Linux4.7、环境变量

个人主页:Lei宝啊 愿所有美好如期而遇 目录 基本概念 见见环境变量 指令原理 常见环境变量及其测试 环境变量相关指令 环境变量组织方式 通过代码获取环境变量 通过系统变量获取环境变量以及设置环境变量 环境变量的全局属性 基本概念 首先,…

深入理解同源限制:网络安全的守护者(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Hdoop学习笔记(HDP)-Part.10 创建集群

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

机器学习笔记 - 什么是3D语义场景完成/补全?

一、什么是3D语义场景补全? 3D 语义场景完成(Semantic Scene Completion)是一种机器学习任务,涉及以体素化形式预测给定环境的完整3D场景(完成3D形状的同时推断场景的 3D 语义分割的任务)。这是通过使用深度图和为场景提供上下文的可选 RGB 图像来完成的。目标是以一种可轻…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《余电上网/制氢方式下微电网系统全生命周期经济性评估》

该标题涉及到对微电网系统的全生命周期经济性进行评估,其重点关注两种运营方式:余电上网和制氢。以下是对标题的解读: 微电网系统: 微电网是指一种小规模的电力系统,通常包括分布式能源资源(如太阳能、风能…

搭建 ebpf 开发测试环境

0 内容说明 这部分主要讲述了如何通过官网学习ebpf,以及如何搭建自己的ebpf开发测试环境,主要是需要安装哪些工具链。 1 ebpf在线学习 ebpf官网中提供了一个快速在线学习ebpf的路径,在这个学习平台中一共有两项学习内容,一个是…

ubuntu下快速搭建docker环境训练yolov5数据集

参考文档 yolov5-github yolov5-github-训练文档 csdn训练博客 一、配置环境 1.1 安装依赖包 前往清华源官方地址 选择适合自己的版本替换自己的源 # 备份源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak # 修改源文件 # 更新 sudo apt update &&a…

操作系统期末复习(1)

复习资料 操作系统笔记 操作系统教程书 课程PPT 王道计算机考研 操作系统_哔哩哔哩_bilibili 操作系统部分重点内容 - TinyChens Studio - 互联网技术学习工作经验分享 学校考试题型 一、简答题(大概有6道) 二、填空题 三、解析题(大…

论文阅读——Loss odyssey in medical image segmentation

Loss odyssey in medical image segmentation github:https://github.com/JunMa11/SegLossOdyssey 这篇文章回顾了医学图像分割中的20种不同的损失函数,旨在回答:对于医学图像分割任务,我们应该选择哪种损失函数? 首…

【多线程】-- 10线程同步synchronized方法/块

多线程 6 线程同步 同步方法 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括以下两种用法: ​ synchronized方法和synchronized块 …

C语言--求一个十进制整数中1的个数

一.题目描述⭐ 求一个十进制整数中1的个数 比如: 输入:10201 输出:2 (这个数字中1的个数是2) 二.思路分析⭐ 数字类的问题我们可以用取模,或者取余运算。 首先定义一个计数器,用来统计1的个数。 输入数字…

Kubernetes实战(六)-多系统架构容器镜像构建实战

1 背景 最近在一个国产化项目中遇到了这样一个场景,在同一个 Kubernetes 集群中的节点是混合架构的,即其中某些节点的 CPU 架构是 x86 的,而另一些节点是 ARM 的。为了让镜像在这样的环境下运行,一种最简单的做法是根据节点类型为…

Python面向对象④:继承【侯小啾python领航班系列(二十二)】

Python面向对象④:继承【侯小啾python领航班系列(二十二)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

随心玩玩(十)git

写在前面:研究生一年多了,一直浑浑噩噩的,在深度学习的泥潭挣扎了好久,终于走出了精神内耗的泥潭…好久没有写博客了,决定重新捡起来…记录一下学习吧~ 之前写了一篇git的博客,【github 从0开始的基本操作…

<蓝桥杯软件赛>零基础备赛20周--第8周第2讲--排序的应用

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…

WakaTime一个用于跟踪和分析编程时间的工具

WakaTime是一个用于跟踪和分析编程时间的工具,它可以集成到各种代码编辑器和集成开发环境中,例如Visual Studio Code、Sublime Text、PyCharm等。它可以帮助开发人员了解他们花费在不同项目和编程语言上的时间,以及他们的编码习惯和生产力。 …

【Tkinter 入门教程】

【Tkinter 入门教程】 1. Tkinter库的简介:1.1 GUI编程1.2 Tkinter的定位 2. Hello word! 程序起飞2.1 第⼀个程序2.2 字体颜色主题 3. 组件讲解3.1 tkinter 的核⼼组件3.2 组件的使⽤3.3 标签Label3.3.1 标签显示内容3.3.2 多标签的应⽤程序3.3.3 总结 3.4 按钮but…