获取exr图片上像素点的颜色通道

google了好久,都没找到合适的方法,还是自己撸一串吧。


import OpenEXR, Imath, array

def get_channel(exr_file,pixel_pos,channel=‘R‘):
    # Open the input file
    file = OpenEXR.InputFile(exr_file)
    f_header=file.header()
    dw = f_header[‘dataWindow‘]

    #get pixel pos relative to the datawidnow
    pixel_data_pos=(pixel_pos[0]-dw.min.x, pixel_pos[1]-dw.min.y)
    #convert 2d array to 1d array index
    pixel_index=pixel_data_pos[1]*(dw.max.x-dw.min.x+1)+pixel_data_pos[0]-1

    # Read the specified channle color as 32-bit floats
    float_type = Imath.PixelType(Imath.PixelType.FLOAT)
    return array.array(‘f‘, file.channel(channel, float_type)).tolist()[pixel_index]#examplesget_channel(‘*.exr‘,(0,0))
时间: 2024-07-31 12:08:06

获取exr图片上像素点的颜色通道的相关文章

yii2.0下,单图片上传到搜狐云台以及图片上传到本机。

图片服务器接的是搜狐云台.在搜狐云台上有代码包,下载下来,放到yii框架的vendor下. yii2.0导入第三方库,很简单,写个autoload的文件,然后在入口脚本index.php中包含那个autoload文件就好了.具体到这个云台的库,只要包含代码中的autoload文件就好了. 简单介绍下搜狐云台的实现,用户会有一个对应的域名,然后选择建一些bucket,文件的上传下载都是在这个bucket中执行.函数调用在云台提供的文档中介绍的很清楚.这里就不再介绍了.同时我只从php的部分来介绍,

利用windows 系统的画图工具获取图片上某一点的颜色RGB值

今天编写程序时,想模仿一款软件.包括外观颜色都要求很像,但是总是找不到一个与之相似的颜色,后来就想到了可以先获取RGB三色值,然后直接给控件或者窗体的背景赋值.再网上找到很多获取RGB值得工具,但是都不可靠.后来发现可以利用系统自带的绘图工具提取颜色.下面是详细的步骤: 第一步:用画图工具打开 图片 第二步:使用截图工具拦上的颜色提取器(就是橡皮擦旁边那个像滴管的东东),点击你想获取颜色的地方, 点下去之后就会把提取的图片上的颜色,直接传给了刷子.如下图所示: 第三步:颜色是提取出来了,但是现在

php获取远程图片模拟post,file上传到指定服务器

1.获取远程图片 /** $path保存图片的地址 $url要获取的远程图片地址 **/ function getimg($path,$url){ $aext = explode('.', $url);$ext = end($aext); $name = $path.'/'. time() . '.' . $ext;$source=file_get_contents($url);file_put_contents($name,$source);return $name; } 2.上传图片 /**

html,图片上传预览,input file获取文件等相关操作

input file常用方法: var obj=document.getElementById("upimage"); var file=obj.files[0];//获取文件数据 var path=obj.value;//获取文件当前路径 var size=obj.files[0].size;//获取文件大小 var prefix=path.substring( path.lastIndexOf('\\')+1 );//获取文件名的前缀名(文件格式) var suffix=path.

图片上传时获取图片的宽和高

经常会遇到图片上传的问题,这时候我们会传图片的地址,宽和高到服务器,至于图片上传就不说了,这里主要说图片上传时获取图片的原始宽和高的问题. 一般而言,我们把图片上传至服务器时,服务器会返回一个上传地址给我们,这个就是我们图片的url了,但是光有这个还是不够的,因为还要将图片的宽和高传给服务器,这时候就可以这样做了.直接上代码: var img = new Image() img.src = url 然后就可以使用img.width和img.height来获取图片的宽和高了.当然仅仅这样做是不够的

微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传

1.index.wxml 1 <!--index.wxml--> 2 <button style="margin:30rpx;" bindtap="chooseimage">获取图片</button> 3 <image src="{{tempFilePaths }}" mode="aspecFill" style="width: 100%; height: 450rpx&qu

机器学习进阶-图片基本处理-ROI区域 1.img[0:200, 0:200]截取图片 2.cv2.split(对图片的颜色通道进行拆分) 3. cv2.merge(将颜色通道进行合并) 4 cur_img[:, :, 0] = 0 使得b通道的颜色数值为0

1. 截取图片的部分区域img[0:200, 0:200], 读入的图片是ndarray格式 2. b, g, r = cv2.split(img)  # 对图片的颜色通道进行拆分 3.img = cv2.merge((b, g, r))  #对图片的颜色通道进行合并 4. 对其他通道置零,只显示单个通道 cur_img[:, :, 0] = 0, cur_img[:, :, 1] = 0 代码: 只显示部分区域 import cv2 # 定义显示函数 def cv_show(name, img

简单写一下图片上传获取宽高的方法

最近,我负责的后台系统有一个图片上传校验图片比例的需求,以前没有做过这种需求,便查了一些资料总结了一下图片上传获取宽高的方法.想要获取图片的宽高首先要知道图片的url:一般图片上传UI组件或自己封装的组件都会获取到图片的url,知道url就好办了,上代码. var img_url = URL;//图片URL地址 var imgObj = new Image();//创建对象 imgObj.src = img_url;//改变图片地址 console.log(imgObj.width + "&qu

前端模拟 图片上传----&gt;&gt;通过选取的图片获取其路径&lt;&lt;------

<head> <meta charset="UTF-8"> <title>Title</title> <style> div { position: relative; overflow: hidden; background: #EEE; width: 100%; height: 667px; } #bg, #mask-bg { position: absolute; width: 100%; height: 667px;