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

初中信息科技怎么自己做网站济南建手机网站哪家好

初中信息科技怎么自己做网站,济南建手机网站哪家好,百度收录网址,无货源开店已确认违法《数字图像处理-OpenCV/Python》连载(10)图像属性与数据类型 本书京东优惠购书链接:https://item.jd.com/14098452.html 本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html 第2章 图像的数据格式 在P…

《数字图像处理-OpenCV/Python》连载(10)图像属性与数据类型


本书京东优惠购书链接:https://item.jd.com/14098452.html
本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html

在这里插入图片描述


第2章 图像的数据格式

在Python语言中,OpenCV以Numpy数组存储图像,对图像的访问和处理都是通过Numpy数组的操作来实现的。


本章内容概要

  • 介绍Python语言中OpenCV的数据结构,学习获取图像的基本属性。
  • 学习使用Numpy数组实现图像的创建、复制、裁剪、拼接、拆分与合并的方法。
  • 学习使用查找表(LUT)快速实现像素值的替换。

2.1 图像属性与数据类型


2.1.1 图像颜色分类

按照图像颜色分类,图像可以分为二值图像、灰度图像和彩色图像。

  • 二值图像:只有黑色和白色两种颜色的图像。每个像素点的像素值可以用0/1或0/255表示,0表示黑色,1或255表示白色。
  • 灰度图像:只有灰度的图像。每个像素点的像素值可以用8bit数字[0, 255]表示灰度级,如0表示纯黑,255表示纯白。
  • 彩色图像:彩色图像可以采用蓝色(B)、绿色(G)和红色(R)三个颜色通道的组合来表示。每个像素点可以用3个 8bit 数字[0, 255]分别表示红色、绿色和蓝色的颜色分量,如(0,0,0) 表示黑色,(0,0,255) 表示红色,(255,255,255) 表示白色。

OpenCV使用BGR格式读取图像解码后,按B/G/R顺序存储为多维Numpy数组,而PIL、PyQt、Matplotlib等库使用的是RGB格式。

在数字图像处理中,可以根据需要对图像的颜色通道顺序进行转换,或将彩色图像转换为灰度图像和二值图像。


2.1.2 以Numpy数组表示数字图像

数字图像由像素点组成的矩阵来描述,以多维Numpy数组来表示和处理。

OpenCV在C++语言中定义的Mat类,是最基本的图像存储格式。在Python语言的API中则基于Numpy库来存储和处理多维数组,即以多维Numpy数组来存储和处理图像。在Python语言中,OpenCV对图像的任何操作,本质上都是对多维Numpy数组的操作和运算。

OpenCV中的二值图像和灰度图像用二维数组表示,数组的形状是(h,w),行与列分别表示图像的高度与宽度。数组中每个元素的值表示对应行/列像素点的灰度值。二值图像是特殊的灰度图像,像素值取0/1或0/255。

OpenCV中的彩色图像用三维数组(h,w,ch) 表示,ch=3表示通道数,数据组织形式如图2-1所示。数组中的每个元素对应像素点的某种颜色分量值。

OpenCV颜色通道的顺序为B/G/R,因此img[:,:,0]表示彩色图像img的B通道,img[:,:,1]表示G通道,img[:,:,2]表示R通道。

在OpenCV中,图像的数据结构是Numpy数组,因此Numpy数组的所有属性和操作方法都适用于OpenCV的图像对象。例如:

  • img.ndim:查看图像的维数,彩色图像的维数为3,灰度图像的维数为2。
  • img.shape:查看图像的形状(h,w,ch),即图像的行数(高度)、列数(宽度)和通道数。
  • img.size:查看图像数组元素的总数,即图像像素的数量与通道数的乘积。

2.1.3 图像的数据类型

OpenCV函数对于数据类型有严格要求,错误的数据类型会导致语法错误。

OpenCV中图像数据类型的参数命名格式如下。

CV_{数字位数}{数字类型}C{通道数}

例如,CV_8UC3表示三通道8位无符号整型数据格式的矩阵。

OpenCV数据类型与Numpy数据类型的对照关系如表2-1所示。在图像处理中,最常用的数据类型是8位无符号整型数据CV_8U,对应的Numpy数据类型是uint8。

推荐在调用Numpy库函数时使用Numpy数据类型的名称,而在调用OpenCV函数时使用OpenCV数据类型的名称,以免发生错误。

使用img.dtype可以获得Numpy数组的数据类型,使用img.astype可以把图像的数据类型转换成指定的Numpy数据类型。


【例程0201】图像属性与数据类型转换

本例程使用Numpy数组的操作方法,获取图像属性和数据格式。


# 【0201】图像属性与数据类型转换
import cv2 as cv
import numpy as npif __name__ == '__main__':# 读取图像,支持 BMP、JPG、PNG、TIFF 等常用格式filepath = "../images/imgLena.tif"  # 读取文件的路径img = cv.imread(filepath, flags=1)  # flags=1 读取彩色图像(BGR)gray = cv.imread(filepath, flags=0)  # flags=0 读取为灰度图像# 维数(Ndim)、形状(Shape)、元素总数(Size)、数据类型(Dtype)print("Ndim of img(BGR): {}, gray: {}".format(img.ndim, gray.ndim))print("Shape of img(BGR): {}, gray: {}".format(img.shape, gray.shape))  # number of rows, columns and channelsprint("Size of img(BGR): {}, gray: {}".format(img.size, gray.size))  # size = rows × columns × channelsimgFloat = img.astype(np.float32) / 255print("Dtype of img(BGR): {}, gray: {}".format(img.dtype, gray.dtype))  # uint8
print("Dtype of imgFloat: {}".format(imgFloat.dtype))  # float32

运行结果:

Ndim of img(BGR): 3, gray: 2
Shape of img(BGR): (512, 512, 3), gray: (512, 512)
Size of img(BGR): 786432, gray: 262144
Dtype of img(BGR): uint8, gray: uint8
Dtype of imgFloat: float32

程序说明:
(1) 彩色图像是三维Numpy数组,灰度图像是二维Numpy数组。因此,相同尺寸的彩色图像与灰度图像的像素数量相同,但数组元素的数量不同。
(2) 彩色图像的形状为(h, w, 3),灰度图像的形状为(h, w)。在查看图像高度和宽度时,推荐使用h, w=img.shape[:2],不推荐使用h, w=img.shape。


本书京东优惠购书链接:https://item.jd.com/14098452.html


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/133561857)
Copyright 2023 youcans, XUPT
Crated:2023-10-05

欢迎关注本书CSDN独家连载专栏
《数字图像处理-OpenCV/Python》连载: https://blog.csdn.net/youcans/category_12418787.html

http://www.yayakq.cn/news/730339/

相关文章:

  • 网站建设到上线的步骤过程设计一个简单的广告
  • 图书销售网站网页设计模板社交网络服务网站
  • 找人做网站上线后被投诉侵权1688一件代发详细步骤
  • 晋城网站seo优秀网站网页设计图片
  • wordpress文章百万行太原网站搜索引擎优化
  • 企业网站优化方法包括全中文软件开发工具
  • 大庆免费网站建设公司助君网络科技
  • 许昌建网站高端服装品牌排行榜
  • 做网站联盟wordpress网站特效
  • 网站备案咨询py可以做网站吗
  • 网站开发后需要交接哪些材料推销产品怎样才能打动客户
  • 高埗做网站现在有什么技能培训班
  • 网站建设的行业资讯、公司的网站建设jnzji
  • 东莞网站优化科技有限公司wordpress nivoslider
  • 安监网站如何做紧急预案备案网站建设比赛
  • 集团网站建设案例湖北交投建设集团集团网站
  • 电影网站做cpa网络营销的推广方式都有哪些
  • 深圳高端响应式网站网站备案需要关闭网站吗
  • 网站增长期怎么做淘宝关键词搜索工具
  • 洛阳自助建站wordpress修改搜索框全屏
  • 湖北外贸网站建设多少钱个人做电影网站服务器放国外安全吗
  • 网站做百度收录的意义挣钱最快的游戏
  • 嘉定网站设计怎么将网站关键词排名首页
  • 做海报的网站类似于创客贴网站开发工具总结
  • 龙南建设局网站wordpress 打开变慢
  • 百度搜不到自己的网站郑州做网站多少钱
  • 网站建设需要多少天杭州网站推广公司
  • 昭阳区建设局网站广州公司核名查询系统
  • 网站建设及推广套餐如何查询网站备案时间查询
  • 手表网站建设策划书明星网站建设