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

北京最新消息今天新增病例肇庆网站快速排名优化

北京最新消息今天新增病例,肇庆网站快速排名优化,thinkphp3.2 企业网站源码,建设工业网站OpenCV读取RGB图像 在OpenCV中,读取的图片默认是HWC格式,即按照高度、宽度和通道数的顺序排列图像尺寸的格式。我们看最后一个维度是C,因此最小颗粒度是C。 例如,一张形状为2562563的RGB图像,在OpenCV中读取后的格式…

OpenCV读取RGB图像

在OpenCV中,读取的图片默认是HWC格式,即按照高度、宽度和通道数的顺序排列图像尺寸的格式。我们看最后一个维度是C,因此最小颗粒度是C。

例如,一张形状为256×256×3的RGB图像,在OpenCV中读取后的格式为[256, 256, 3],其中最后一个维度表示图像的通道数。在OpenCV中,可以通过cv2.imread()函数读取图片,该函数的返回值是一个NumPy数组,表示读取的图像像素值。

需要注意的是,OpenCV读取的图像像素值是按照BGR顺序排列的,而不是RGB顺序。因此,如果需要将OpenCV读取的图像转换为RGB顺序,可以使用cv2.cvtColor()函数进行转换。

OpenCV读取一张RGB图像时,它会将像素数据按照BGR的顺序排列,对于一张3×3的RGB图像,其像素信息在内存中的排列方式如下所示:

[
[[B G R] [B G R] [B G R]],
[[B G R] [B G R] [B G R]],
[[B G R] [B G R] [B G R]], ]

可知,每一个像素点都由三个值组成,分别表示该像素点在蓝色、绿色和红色通道中的颜色值,而整张图像的像素数据则按照BGR的顺序排列。

在PyTorch中读取RGB图像

PyTorch接收的RGB图像通常采用CHW格式。在PyTorch中,RGB图像的像素值通常采用浮点数的形式表示,并且像素值的范围通常是[0, 1]或[-1, 1]。

一般pytorch中的tensor,即网络的输入,要转换为plane的格式,即rrrgggbbb。

[
[[R R R] [R R R] [R R R]],
[[G G G] [G G G] [G G G]],
[[B B B] [B B B] [B B B]], ]

在PyTorch中,模型接收的RGB图像通常采用CHW格式,即按照通道数、高度和宽度的顺序排列像素信息的方式。

具体来说,假设某个像素点的坐标为(i, j),其在内存中的存储位置可以表示为:

offset = i * W * C + j * C

其中,i表示该像素点在第二维中的位置,j表示该像素点在第三维中的位置,C表示通道数,W表示宽度。这个公式可以计算出该像素点在内存中的偏移量,从而可以访问该像素点的RGB值。

实验

1 生成一张图片

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt# 用随机数模拟一张图像
image = np.random.randint(256, size=60)
image = image.reshape((5,4,3))
image_hwc = np.uint8(image)# 展示图像
image_show = Image.fromarray(image_hwc)
plt.imshow(image_show)
plt.show()# 打印图像像素值,[h, w, c]格式
print(image_hwc)# 打印像素值,[c, h, w]格式
image_chw = np.transpose(image_hwc, (2,0,1))
print(image_chw)

以上代码模拟生成的图像如下图所示,图中有5行4列总共20个像素。
在这里插入图片描述

上图的所有像素及其像素值如下图所示,[h, w, c]格式。可以看出,最里层的括号内为单个像素在三个通道上的像素值。

我们看这种维度的一个方法是:看最后一个维度的含义,[h,w,c]最后一个维度是3,因此意味着最小的颗粒度维度是3。

在这里插入图片描述
如果以[c, h, w]格式表示的话,应该是下图这样的:
看最后一个维度的含义,[c,h,w]最后一个维度是w(我们实验中是4),因此意味着最小的颗粒度维度是4。

我们想象,一束光通过三棱镜后分解为彩色光,我们取出其中一个频段的数据,把这个频段的数据进行二维排列,就是该通道的情况。

在这里插入图片描述

2 CHW和HWC的本质

本质是一个规范,排列多维度的数据的规范,换句话说,就是定义了一个数据类型的结构体。

转换过程

  1. 其实数据可以看做是一堆无序的数据,轴的存在让这些数据按照一定层级及次序排布
  2. 转换前的数据是这样排布的,先按照图像高分成3堆,对这3堆的每一堆按照图像图像宽分2堆,分好的2堆分别按照通道数分成3堆
  3. 转换后的数据排布顺序变了,它先按照通道数分成3堆,分好的3堆各自按照图像高分成3堆,再按照图像宽分成2堆。

在这里插入图片描述

参考

https://blog.csdn.net/hh1357102/article/details/130622666
https://zhuanlan.zhihu.com/p/476310426

http://www.dt0577.cn/news/24999.html

相关文章:

  • 网站建设基本要素长春seo培训
  • 网站制作什么语言最好2023年新闻小学生摘抄
  • discu论坛网站模板杭州专业seo
  • 外贸网站建站电话多少网络公司网站
  • 微信小程序 创建网站刷关键词优化排名
  • 做商城网站可以个人备案成都爱站网seo站长查询工具
  • 12360官方网站下载百度我的订单app
  • 赣州网站制作北京seo关键词排名优化软件
  • wordpress显示代码seo外链网
  • 自己怎样做网站显示危险提高工作效率心得体会
  • 网站建设服务非常好湖南岚鸿公司网络推广公司电话
  • 郑州好的企业网站建设百度商城官网首页
  • 做网站公证需要费用是多少互联网舆情监测系统
  • 做网站图片推广免费
  • 安卓手机怎么做网站云南网络推广服务
  • 关于做情侣的网站的图片大全深圳营销型网站
  • 做网站如何宣传关键词优化一年多少钱
  • 为什么做这个网站项目设计公司排名
  • 做网站的费用是多少钱关键词优化是什么意思?
  • 网站建设行业发展史天堂网
  • 做网站公司常熟seo技术分享博客
  • 郑州网站制作公司铁岭网站seo
  • 公司注册后怎么做网站百度广告搜索引擎
  • 公司做网站需要哪些步骤旺道seo工具
  • 京东网站的建设目的济南seo
  • 做社区网站用什么程序好网络营销策划方案3000字
  • 做语文高考题网站足球排名世界排名
  • 网站优化软件方案潍坊网站seo
  • 吉林网络公司网站建设网络营销公司名称
  • 深圳电商平台网站建设郑州seo优化培训