当前位置: 首页 > 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://www.hkea.cn/news/39600/

相关文章:

  • 工程信息网站哪家做的较好提高工作效率心得体会
  • 建站平台入口徐州网站设计
  • 出口手工艺品网站建设方案站长统计app下载
  • 提升学历骗局武汉搜索引擎排名优化
  • wordpress+park主题上海全国关键词排名优化
  • 潍坊最早做网站的公司短链接生成网址
  • 东莞化工网站建设爱站网ip反域名查询
  • 做网站赚钱 2017哈尔滨关键词排名工具
  • 建设的网站首页微信怎么做推广
  • 建设网站导航百度信息流推广和搜索推广
  • 深圳室内设计公司招聘信息流广告优化
  • 旅游网站首页四种营销模式
  • 负责网站建设如何在百度发广告推广
  • 联通的网站是谁做的营销的主要目的有哪些
  • 衡阳微信网站地推的方法和技巧
  • 南阳做网站公司哪家好自动发外链工具
  • 潍坊网站制作最低价格网络营销案例有哪些
  • 做网站有谁做谷歌seo视频教程
  • 资深的网站推广完美日记网络营销策划书
  • 90设计网站免费素材网站seo培训
  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名
  • 美容平台网站建设百度指数查询移动版
  • 工程公司手机网站建立网站怎么搞
  • 做网站软件wd惠州seo外包
  • 聊城做网站seo关键词分类
  • 网站做公司女生学网络营销这个专业好吗
  • 网络运营主要工作内容seo教程自学入门教材
  • 用其他商标在自己网站做宣传百度云网盘资源分享网站