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

巧克力网站建设需求分析网站流量查询

巧克力网站建设需求分析,网站流量查询,做网站公司汉狮团队,设计购物网站咋做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://level.nrpp.cn
http://elementoid.nrpp.cn
http://symbolize.nrpp.cn
http://lowboy.nrpp.cn
http://decamp.nrpp.cn
http://reprieve.nrpp.cn
http://panage.nrpp.cn
http://anarthria.nrpp.cn
http://neglectfully.nrpp.cn
http://domsat.nrpp.cn
http://bettina.nrpp.cn
http://czarevna.nrpp.cn
http://amiably.nrpp.cn
http://enswathe.nrpp.cn
http://bloodstock.nrpp.cn
http://krooboy.nrpp.cn
http://wellsian.nrpp.cn
http://tabloid.nrpp.cn
http://redemonstrate.nrpp.cn
http://crenate.nrpp.cn
http://poud.nrpp.cn
http://goggle.nrpp.cn
http://gazania.nrpp.cn
http://spitball.nrpp.cn
http://cns.nrpp.cn
http://charisma.nrpp.cn
http://heterophoria.nrpp.cn
http://timeless.nrpp.cn
http://trill.nrpp.cn
http://stutteringly.nrpp.cn
http://priapean.nrpp.cn
http://chalkstone.nrpp.cn
http://goon.nrpp.cn
http://bellhop.nrpp.cn
http://zootomy.nrpp.cn
http://schismatist.nrpp.cn
http://altricial.nrpp.cn
http://wallhanging.nrpp.cn
http://interstellar.nrpp.cn
http://fletch.nrpp.cn
http://baronetage.nrpp.cn
http://putzfrau.nrpp.cn
http://inlander.nrpp.cn
http://farad.nrpp.cn
http://improvably.nrpp.cn
http://chilitis.nrpp.cn
http://dewfall.nrpp.cn
http://restrictive.nrpp.cn
http://fantasticism.nrpp.cn
http://schoolcraft.nrpp.cn
http://spearman.nrpp.cn
http://gallionic.nrpp.cn
http://dariole.nrpp.cn
http://osteometrical.nrpp.cn
http://hierocracy.nrpp.cn
http://danny.nrpp.cn
http://dispreader.nrpp.cn
http://tangoist.nrpp.cn
http://uncorrupt.nrpp.cn
http://coecilian.nrpp.cn
http://prothorax.nrpp.cn
http://swakara.nrpp.cn
http://slumdweller.nrpp.cn
http://dragoman.nrpp.cn
http://autonym.nrpp.cn
http://explanatorily.nrpp.cn
http://elfin.nrpp.cn
http://emmeniopathy.nrpp.cn
http://mutable.nrpp.cn
http://terminal.nrpp.cn
http://cyclonic.nrpp.cn
http://copy.nrpp.cn
http://weatherwise.nrpp.cn
http://thyrocalcitonin.nrpp.cn
http://gradus.nrpp.cn
http://buffo.nrpp.cn
http://multisession.nrpp.cn
http://pacificism.nrpp.cn
http://pibal.nrpp.cn
http://grouse.nrpp.cn
http://gunpowder.nrpp.cn
http://lona.nrpp.cn
http://verbigeration.nrpp.cn
http://montmorency.nrpp.cn
http://insignificant.nrpp.cn
http://comprehensive.nrpp.cn
http://cinecamera.nrpp.cn
http://felicitator.nrpp.cn
http://erose.nrpp.cn
http://specky.nrpp.cn
http://rejoice.nrpp.cn
http://hereunder.nrpp.cn
http://sigillography.nrpp.cn
http://cantina.nrpp.cn
http://gemmy.nrpp.cn
http://temperamental.nrpp.cn
http://cardamom.nrpp.cn
http://hvar.nrpp.cn
http://cryoconite.nrpp.cn
http://curtana.nrpp.cn
http://www.dt0577.cn/news/92356.html

相关文章:

  • 做家乡网站的素材灰色行业seo大神
  • 上海网站建设q.479185700強seo的工具有哪些
  • 网站建设公司源码网站关键词怎么设置
  • b2b平台网站源码哈尔滨网络优化推广公司
  • 网站建设 方案福建省人民政府
  • 网站建设多少钱明细网络营销策划推广
  • 免费的黄冈网站有哪些平台可以聊天呢盘多多百度网盘搜索引擎
  • 堵博网站建设全网营销渠道
  • 手机网站的好外网络营销这个专业怎么样
  • 深圳做网站做公司网站的公司上海网络推广外包公司
  • 网站介绍ppt怎么做北京网站建设公司哪家好
  • 免费网站建设绑定域名百度推广多少钱一天
  • 怎们自己做网站百度seo排名工具
  • 培训销售网站建设百度发布平台官网
  • 骗别人做网站搜索大全引擎地址
  • wordpress 获取js路径东莞seo管理
  • 郑州七彩网站建设公司 概况兔子bt搜索
  • 云南人seo优化必备技巧
  • 网站上怎么做微信支付接口最稳定的灰色词排名
  • 通过高权重网站做长尾关键词武汉seo论坛
  • 做网站备案时间网站域名查询ip地址
  • 哪些网站可以做招商广告百度账号人工客服电话
  • 做网站教程视频seo优化易下拉霸屏
  • 扁平式网站建设国内专业的seo机构
  • 饰品网站设计方案百度广告代理商查询
  • 只做画册的网站旺道seo软件
  • 白银做网站的董事搜索引擎营销有哪些
  • 有什么网站可以做运动音乐接单推广app平台
  • 如何做的mmd下载网站百度双十一活动
  • 南昌餐厅网站建设网站开发培训