百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

学习OpenCV4-聊聊图像格式(opencv 图像格式)

nanshan 2024-10-08 05:31 22 浏览 0 评论

本文分享内容来自图书《学习OpenCV 4:基于Python的算法实战》,该书内容如下:

第1章 OpenCV快速入门;
第2章 图像读写模块imgcodecs;
第3章 核心库模块core;
第4章 图像处理模块imgproc(一);
第5章 图像处理模块imgproc(二);
第6章 可视化模块highgui;
第7章 视频处理模块videoio;
第8章 视频分析模块video;
第9章 照片处理模块photo;
第10章 2D特征模块features2d;
第11章 相机标定与三维重建模块calib3d;
第12章 传统目标检测模块objdetect;
第13章 机器学习模块ml;
第14章 深度神经网络模块dnn

欢迎关注图书《深度学习计算机视觉实战》与《学习OpenCV4:基于Python的算法实战》.


图像格式即图像文件存放在存储卡等介质上的格式,常用的图像格式有BMP、JPEG、TIFF、RAW等,受到存储容量的限制,图像文件通常都会经过压缩再存储,表2.1列举了OpenCV中图像读写支持的格式,本节对一些常用格式做简单介绍。

(1)BMP格式

Windows Bitmaps格式图像文件又称位图,后缀为.bmp或.dib,是Windows系统中最常见的图像格式,也是Windows环境中图像数据处理的一种标准格式,因此Windows环境中的图像处理软件都支持BMP格式。

BMP格式采用位映射存储格式,除了图像深度可以设置之外(图像深度可设置为1bit、4bit、8bit及24bit),不采用其他的压缩方式,因此存储BMP文件所需占用的空间会很大。BMP文件进行数据存储时,采用从左到右、从下到上的图像扫描方式。

(2)JPEG格式

JPEG(Joint Photographic Experts Group,联合图像专家小组)是面向连续色调静止图像的一种压缩标准,该标准由国际标准化组织(ISO)制订。JPEG格式图像文件采用JPEG标准,是目前最常用的图像文件格式,后缀名为.jpg或.jpeg。

JPEG格式是一种先进的压缩格式,可以去除图像中的冗余数据,该格式压缩比通常在10:1到40:1,用JPEG格式存储的文件大小是其他类型文件的1/10~1/20,它能够将图像压缩在很小的存储空间内。JPEG格式属于有损压缩格式,压缩比越大,图像的品质就越低,所以如果要求高品质图像,压缩比则不宜设置过高。

JPEG格式可分为标准JPEG、渐进式JPEG及JPEG2000三种格式。

标准JPEG格式在网页中加载时,需要图像文件全部加载完毕才能展示图像。

渐进式JPEG在网页中加载时会先呈现图像的粗略外观,然后逐渐呈现图像细节,因而称为渐进式JPEG。渐进式JPEG格式图像文件比标准JPEG格式文件小,所以网页端图像的展示建议使用这种格式。

JPEG2000是新一代图像压缩方法,压缩品质更高,JPEG2000格式文件后缀为.jp2。在无线传输图像时,经常会遇到信号不稳造成的马赛克现象,或者图像位置错乱的问题,JPEG2000可以改善这种情况下的图像传输品质。JPEG2000的压缩率比标准JPEG高约30%,支持有损压缩和无损压缩两种方式,支持渐进式传输,支持设定感兴趣区域(即指定图片上感兴趣区域的压缩质量),而且还可以选择图像中的某一部分先行解压。

(3)PNG格式

PNG(Portable Network Graphics,便携式网络图形)格式是一种采用无损压缩数据算法的位图格式,后缀为.png,该格式当初的设计意图是替代有专利的GIF和TIFF文件格式,是目前比较常用的一种图像格式。

(4)WebP格式

WebP由Google发布,文件后缀为.webp,提供了有损压缩与无损压缩两种方式,该格式派生于VP8,支持的最大像素数量是16383x16383。相较于JPEG格式,WebP格式采用有损压缩在保持与JPEG格式相同的图片质量的情况下,文件大小会比JPEG格式文件小,WebP无损压缩的图像比PNG图像少了45%的存储大小,因此能够有效的减少图片在网络上的传输时间。

(5)TIFF 格式

TIFF(Tag Image File Format,标签图像文件格式)是一种灵活的位图格式,文件后缀为.tiff或.tif。TIFF格式采用3级体系结构,内部结构分为三个部分:文件头信息区、标识信息区和图像数据区。文件头信息区存储TIFF文件解析所必需的信息,标识信息区包含了有关于图像的所有信息,图像数据区存储图像信息。

TIFF格式应用广泛,拥有多种压缩方案,可以描述多种类型的图像,不依赖于硬件,具有可移植性。

OpenCV进行图像编解码时,在Windows和MacOSX操作系统上,默认情况下使用OpenCV自带的编解码器(libjpeg、libpng、libtiff和libjasper),因此在这两种系统上OpenCV总是可以读取JPEG、PNG和TIFF格式的图像文件。在MacOSX上,还可以选择使用MacOSX本机的图像读取器。

在Linux、BSD或其他类Unix的操作系统上,OpenCV寻找与操作系统镜像一起提供的编解码器,安装相关软件包时不要忘记安装开发文件,例如Debian和Ubuntu中的“libjpeg dev”。

相关推荐

如何为MySQL服务器和客户机启用SSL?

用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...

Mysql5.7 出现大量 unauthenticated user

线上环境mysql5.7突然出现大量unauthenticateduser,进mysql,showprocesslist;解决办法有:在/etc/hosts中添加客户端ip,如192.16...

MySQL 在 Windows 系统下的安装(mysql安装教程windows)

更多技术文章MySQL在Windows系统下的安装1.下载mysql和Framework链接链接:百度网盘请输入提取码提取码:6w3p双击mysql-installer-communit...

MySql5.7.21.zip绿色版安装(mysql数据库绿色版安装)

1、去网上下载满足系统要求的版本(mysql-5.7.21-winx64.zip)2、直接解压3、mysql的初始化(1)以管理员身份运行cmd,在mysql中的bin目录下shift+右键-在...

MySQL(8.0)中文全文检索 (亲测有效)

在一堆文字中找到含有关键字的应用。当然也可以用以下语句实现:SELECT*FROM<表名>WHERE<字段名>like‘%ABC%’但是它的效率太低,是全盘扫描。...

新手教程,Linux系统下MySQL的安装

看了两三个教程。终于在哔哩哔哩找到一个简单高效的教程,成功安装,up主名叫bili逍遥bili,感兴趣可以去看看。下面这个是我总结的安装方法环境:CentOS764位1.下载安装包,个人觉得在...

麒麟服务器操作系统安装 MySQL 8 实战指南

原文连接:「链接」Hello,大家好啊,今天给大家带来一篇麒麟服务器操作系统上安装MySQL8的文章,欢迎大家分享点赞,点个在看和关注吧!MySQL作为主流开源数据库之一,被广泛应用于各种业务...

用Python玩转MySQL的全攻略,从环境搭建到项目实战全解析

这是一篇关于“MySQL数据库入门实战-Python版”的教程,结合了案例实战分析,帮助初学者快速掌握如何使用Python操作MySQL数据库。一、环境准备1.安装Python访问Pytho...

安装MySQL(中标麒麟 安装mysql)

安装MySQL注意:一定要用root用户操作如下步骤;先卸载MySQL再安装1.安装包准备(1)查看MySQL是否安装rpm-qa|grepmysql(2)如果安装了MySQL,就先卸载rpm-...

Mysql最全笔记,快速入门,干货满满,爆肝

目录一、MySQL的重要性二、MySQL介绍三、软件的服务架构四、MySQL的安装五、SQL语句六、数据库相关(DDL)七、表相关八、DML相关(表中数据)九、DQL(重点)十、数据完...

MAC电脑安装MySQL操作步骤(mac安装mysqldb)

1、在官网下载MySQL:https://dev.mysql.com/downloads/mysql/根据自己的macOS版本,选择适配的MySQL版本根据自己需求选择相应的安装包,我这里选择macO...

mysql主从(mysql主从切换)

1、本章面试题什么是mysql主从,主从有什么好处什么是读写分离,有什么好处,使用mycat如何实现2、知识点2.1、课程回顾dubboORM->MVC->RPC->SOApro...

【linux学习】以MySQL为例,带你了解数据库

做运维的小伙伴在日常工作中难免需要接触到数据库,不管是MySQL,mariadb,达梦还是瀚高等其实命令都差不多,下面我就以MySQL为例带大家一起来了解下数据库。有兴趣的小伙伴不妨评论区一起交流下...

玩玩WordPress - 环境简介(0)(玩玩网络科技有限公司)

简介提到开源博客系统,一般都会直接想到WordPress!WordPress是使用PHP开发的,数据库使用的是MySQL,一般会在Linux上运行,Nginx作为前端。这时候就需要有一套LNMP(Li...

服务器常用端口都有哪些?(服务器端使用的端口号范围)

下面为大家介绍一下,服务器常用的一些默认端口,以及他们的作用:  21:FTP服务所开放的端口,用于上传、下载文件。  22:SSH端口,用于通过命令行模式远程连接Linux服务器或vps。  23:...

取消回复欢迎 发表评论: