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

制作网站和制作网页的分别青岛公司注册

制作网站和制作网页的分别,青岛公司注册,wordpress与phpstudy安装,湖北最新消息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.yayakq.cn/news/639975/

相关文章:

  • ppt模板免费下载网站知乎展示用网站模板
  • 承德建设银行网站网站转移服务器需要重新备案吗
  • 网站地址怎么做超链接手机免费云服务器永久使用
  • 成都高端网站建设公司软件工程毕业可以做网站吗
  • 怎么做视频网站教程百度指数
  • 外贸公司怎么做网站十大免费域名
  • 厦门网站怎么做腾讯企业邮箱好用吗
  • 厦门 网站开发龙岗网站建设电话
  • 网站主服务器地址国外网站 国内做镜像
  • 怎么做金融营销网站做a的网站有哪些
  • 建立网站的目的电商网站设计与开发
  • 骆诗网站建设绩溪建设银行网站
  • 用wex5可以做网站吗网站免费模版代码
  • 清远网站建设大学生网站开发与设计实训报告
  • 河南五建建设集团有限公司网站各类网站排名
  • 网站开发教程销售网站制作电话
  • 企业网站建设因素分析网站mssql 导出数据
  • 免费做彩页网站网站开发app定制
  • 可以做哪些网站有哪些内容吗免费网页制作教程视频
  • 哪个网站能在家做兼职网站网络的可用性
  • 宜宾网站建设网站耒阳市网站建设
  • 俄罗斯网站设计wordpress 分段循环
  • 装修设计费收费标准搜索引擎营销就是seo
  • 湖南响应式网站推荐wordpress在线教育插件
  • 苏州网站推广找苏州梦易行网上做设计兼职哪个网站好点
  • 唐山网站建设体育新闻最新消息10条
  • 建设门户网站需要注意什么意思拜博网站建设
  • 现在学网站开发国外设计文章的网站
  • 网站主页面设计多少钱wordpress搭建拒绝访问
  • 建一个快讯网站要多少钱龙采科技做网站多少钱