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

做兼职比较正规的网站建设个人网银登录入口

做兼职比较正规的网站,建设个人网银登录入口,破解wordpress密码,自贡权威发布GDAL和 Pillow GDAL和PIL处理和操作的对象都是栅格图像。 但它们又不一样。 GDAL主要重点放在地理或遥感数据的读写和数据建模以及地理定位和转换, 但是PIL的重点是放在图像本身处理上的。 至于在底层数据处理上,两者都可以用 numpy 转化的二进制作为数…

GDAL和 Pillow

GDAL和PIL处理和操作的对象都是栅格图像。 但它们又不一样。 GDAL主要重点放在地理或遥感数据的读写和数据建模以及地理定位和转换, 但是PIL的重点是放在图像本身处理上的。

至于在底层数据处理上,两者都可以用 numpy 转化的二进制作为数据处理。 所以,理论上是可以互相共享和交换数据的。实际上也确实可以。

GDAL的核心在波段(band), 一切操作的基础和核心都在波段。 波段可以单独拿出来操作,至于波段在数据集中的顺序无关紧要。 因为遥感图像大多比RGB图像的波段要多,而每个波段单独都是一个完整的整体, 每个波段单独拿出来都是一个数据集。而 Pillow 的核心在数据集(DataSet)这里的概念是对应GDAL中的数据集的概念。 当然,在 Pillow 本身中没有这种说法,也就是不把波段单独操作, 操作大部分需要RGB一体化地进行。

两部分的操作的主要衔接部分就是创建、读取与写入。 读取数据后怎么处理是两个库各自的事情。 所以这里主要内容就是介绍两个库各自的创建,读取和写入的操作,以及两个库的过渡。

1. 使用GDAL读取数据

比较两个库的读取,GDAL读取一个图像中的数据

>>> from osgeo import gdal
>>> dataset = gdal.Open("/gdata/geotiff_file.tif")
>>> data_arr = dataset.ReadAsArray(30,70,5,5)
>>> type(data_arr)
numpy.ndarray
>>> data_arr
array([[[147, 141, 151, 146, 145],[148, 149, 151, 143, 139],[163, 164, 162, 152, 149],[167, 169, 164, 160, 159],[168, 172, 162, 162, 164]],[[  7,   4,  17,  12,  11],[  7,  10,  14,   6,   2],[ 10,  11,  11,   3,   0],[  8,  10,   8,   4,   4],[ 12,  16,   6,   6,   9]],[[ 18,  12,  24,  19,  18],[ 16,  17,  21,  13,   9],[ 15,  16,  16,   7,   6],[ 13,  14,  11,   8,  10],[ 16,  20,  10,  10,  15]]], dtype=uint8)
>>> data_bin = dataset.ReadRaster(30,70,5,5)
>>> data_bin
b'x93x8dx97x92x91x94x95x97x8fx8bxa3xa4xa2x98x95xa7xa9xa4xa0x9fxa8xacxa2xa2xa4x07x04x11x0cx0bx07nx0ex06x02nx0bx0bx03x00x08nx08x04x04x0cx10x06x06tx12x0cx18x13x12x10x11x15rtx0fx10x10x07x06rx0ex0bx08nx10x14nnx0f'

打开了数据集,就有两种方法来获取数据。虽然读出的一个是二进制,一个是数组,Numpy数组用tostirng转换出来的二进制和用ReadRaster读出的相同。

>>> data_arr.tostring()
<ipython-input-5-e83da5e06f5b>:1: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.data_arr.tostring()
b'x93x8dx97x92x91x94x95x97x8fx8bxa3xa4xa2x98x95xa7xa9xa4xa0x9fxa8xacxa2xa2xa4x07x04x11x0cx0bx07nx0ex06x02nx0bx0bx03x00x08nx08x04x04x0cx10x06x06tx12x0cx18x13x12x10x11x15rtx0fx10x10x07x06rx0ex0bx08nx10x14nnx0f'

从波段中获取数据和从数据集中获取数据的方法十分相似。

2. 使用Pillow读取数据

注意,使用Pillow读取时,要注意其类型。

>>> from PIL import Image
>>> im = Image.open("/gdata/geotiff_file.tif")
>>> region = im.crop((30,70,35,75))
>>> region.tobytes()
b'x93x07x12x8dx04x0cx97x11x18x92x0cx13x91x0bx12x94x07x10x95nx11x97x0ex15x8fx06rx8bx02txa3nx0fxa4x0bx10xa2x0bx10x98x03x07x95x00x06xa7x08rxa9nx0exa4x08x0bxa0x04x08x9fx04nxa8x0cx10xacx10x14xa2x06nxa2x06nxa4tx0f'

im可以类比成gdal的dataset,im也可以从DataSet中提取某个范围的数据。
可以看出,虽然读取的都是同样位置的数据,但是输出的结果不一样。

3. Pillow与GDAL读取数据的转换

这里注意,GDAL与Pillow的空间模型并不一致。 在Pillow的下,截取区域矩形的定义和GDAL不同,GDAL是顶点X、顶点Y、宽、高; Pillow是顶点X、顶点Y、终点X,终点Y。 这就是GDAL和Pillow的区别。转换一下:

>>> import numpy as np
>>> data = dataset.ReadAsArray(30,70,5,5)
>>> datas = [i for i in data]
>>> from numpy import reshape
>>> datas = [reshape(i,(-1,1)) for i in data]
>>> datas = np.concatenate(datas,1)
>>> datas.tostring()
<ipython-input-8-b652c983ce99>:7: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.datas.tostring()
b'x93x07x12x8dx04x0cx97x11x18x92x0cx13x91x0bx12x94x07x10x95nx11x97x0ex15x8fx06rx8bx02txa3nx0fxa4x0bx10xa2x0bx10x98x03x07x95x00x06xa7x08rxa9nx0exa4x08x0bxa0x04x08x9fx04nxa8x0cx10xacx10x14xa2x06nxa2x06nxa4tx0f'

可以看到现在结果一致了。这里就表现了两个库的设计概念模型的不同。 GDAL把图像看成是由不同传感器获取的不同频率的电磁波构成的影像文件,读取的数据是默认的以band组织的; Pillow则把图像看成是由单个像素构成的,每个像素是记录的由RGB三色构成的像素颜色的数据。

4. 从波段来看

如果是单个波段,就不存在RGB存储的问题了。使用下面的方式打开,可以看出读取数据时,两个库读取的结果是一样的。

>>> r,g,b = region.split()
>>> r.tobytes()
b'x93x8dx97x92x91x94x95x97x8fx8bxa3xa4xa2x98x95xa7xa9xa4xa0x9fxa8xacxa2xa2xa4'
>>> band = dataset.GetRasterBand(1)
>>> band.ReadRaster(30,70,5,5)
b'x93x8dx97x92x91x94x95x97x8fx8bxa3xa4xa2x98x95xa7xa9xa4xa0x9fxa8xacxa2xa2xa4'
http://www.yayakq.cn/news/236413/

相关文章:

  • aws wordpress 集群全国分站seo
  • 网站升级改造建设方案营销型网站如何建设
  • 高端大气的网站html5 网站后台
  • 网站开发包括软件吗百度关键词推广
  • 做珠宝首饰网站品牌网站建设小8蝌蚪
  • 做3d效果在哪个网站东莞免费网站制作
  • 网站建设入门到精通网络营销工具优缺点
  • 网站设计导航栏怎么做男女做那个的的视频网站
  • 租赁服务器的网站推广文案
  • 图片展示网站织梦源码微营销工具
  • 为企业规划一个网站广东网站开发收费
  • 网站不用备案网站怎样做的
  • 餐饮培训网站建设手机网站建设的影响
  • 程序员能转行做网站维护不邢台做移动网站报价
  • 宁波网站公司网站有个栏目不想被搜索引擎收录要怎么办
  • 网站建设硬件设备wordpress seo plugin
  • 天河网站开发网站开发目标开题报告
  • pc端网站怎么做自适应手机端西安官网seo价格
  • 网站建设最简单的教程长沙建站优化
  • 手机版自适应网站怎么做佛山网站优化
  • 医疗网站建设要多少钱开锁做网站哪个好
  • 网络叶子 网站推广永修建设局网站
  • 解析域名后怎么弄网站企业 手机网站
  • 电子邀请函免费制作app网站优化都是怎么做的
  • 做网站的启蒙思想西安网站开发的未来发展
  • 中国建材网官方网站免费的软件大全下载
  • 让人家做网站需要问什么问题衡阳网站建设mdawl
  • 济南网站制作推广网站制作公司怎么看
  • 网站推广初期目标一个很好的个人网站开发
  • 高端网站建设套餐建筑八大员培训机构