×

c读取hdr格式文件下载

c读取hdr格式文件下载(hdr是什么文件格式)

admin admin 发表于2023-03-30 02:32:10 浏览67 评论0

抢沙发发表评论

本文目录一览:

hdr贴图是怎么?在哪里可以下?

自己可以去搜一下嘛

偶就知道在3DMAX中用到

可以去电驴里下关于3dmax的教材,里面就附带有

比如“红色风暴”中就有HDR光照贴图

[红色风暴II.3dsmax7室内设计经典实例(渲染篇)].HDR光照贴图及模型库.BGCGS.rar

其他就自己找吧,反正用得也不多

引用一段解释:

HDR,本身是High-Dynamic Range(高动态范围)的缩写,这本来是一个CG概念。HDR的含义,简单说,就是超越普通的光照的颜色和强度的光照。计算机在表示图象的时候是用8bit(256)级或16bit(65536)级来区分图象的亮度的,但这区区几百或几万无法再现真实自然的光照情况。目前普通的图片都是由三原色——红、绿、蓝组成的,这是针对CRT显示器显示的图像而制定的规范,通过这三种颜色的组合,任何颜色都可以在屏幕上显示出来,颜色的强度等级在256个灰度单位以内,经常使用绘图工具(比如Photoshop)的玩家至少会对256这个数字很眼熟。也就是说,普通的图形文件每个象素只有0 - 255的灰度范围,这实际上是不够的。上述的规格是在从前计算机制造工艺不发达的前提下作出的折中选择,也就是说自然界的光线颜色和强度是上述的规格无法囊括的,一些极亮和极暗的光线不能通过上述的规格来表现。那么HDR文件是一种特殊图形文件格式,它的每一个像素除了普通的RGB信息,还有该点的实际亮度信息。想象一下太阳的发光强度和一个纯黑的物体之间的灰度范围或者说亮度范围的差别,远远超过了256个灰度单位。因此,一张普通的白天风景图片,看上去白云和太阳可能都呈现是同样的灰度/亮度,都是纯白色,但实际上白云和太阳之间实际的亮度不可能一样,他们之间的亮度差别是巨大的。因此,普通的图形文件格式是很不精确的,远远没有纪录到现实世界的实际状况。所以,现在我们就要介绍一下高动态范围图像(简称HDRI)。-c读取hdr格式文件下载

下载的c4d HDR 环境贴图应该放进哪个文件夹?

C4D放入library\browser里的是HDRI.lib4d格式,图片是不能直接在C4D的内容浏览读取的。

C4D的HDR环境贴图的图是图片格式,我通常是把最常用的几个HDR放在桌面,方便材质球读取用的。

使用方式就是用材质球读取图片即可。

ps或拍照软/硬件如何能导出hdr格式的文件

存储为—保存类型—Radiance(*.HDR;*.RGBE;*.XYZE)[倒数第二个选项]

MATLAB如何读取hdr和raw文件

1、 读取ENVI标准图像代码非原创。文件名read_ENVIimagefile.m代码如下:

function data=read_ENVIimagefile(imgfilename)

%本函数读取img格式,前提是img图像显式带有'.img'后缀名。

if length(imgfilename)=4

switch strcmp(imgfilename(length(imgfilename)-3:end), '.img')

case 0

hdrfilename=strcat(imgfilename, '.hdr');

case 1

hdrfilename=strcat(imgfilename(1: (length(imgfilename)-4)), '.hdr');

end

else

hdrfilename=strcat(imgfilename, '.hdr');

end

%读取ENVI标准格式图像文件

%读取图像头文件

fid = fopen(hdrfilename, 'r');

info = fread(fid,'char=char');

info=info';%默认读入列向量,须要转置为行向量才适于显示

fclose(fid);

%查找列数

a=strfind(info,'samples = ');

b=length('samples = ');

c=strfind(info,'lines');

samples=[];

for i=a+b:c-1

samples=[samples,info(i)];

end

samples=str2num(samples);

%查找行数

a=strfind(info,'lines = ');

b=length('lines = ');

c=strfind(info,'bands');

lines=[];

for i=a+b:c-1

lines=[lines,info(i)];

end

lines=str2num(lines);

%查找波段数

a=strfind(info,'bands = ');

b=length('bands = ');

c=strfind(info,'header offset');

bands=[];

for i=a+b:c-1

bands=[bands,info(i)];

end

bands=str2num(bands);

%查找数据类型

a=strfind(info,'data type = ');

b=length('data type = ');

c=strfind(info,'interleave');

datatype=[];

for i=a+b:c-1

datatype=[datatype,info(i)];

end

datatype=str2num(datatype);

precision=[];

switch datatype

case 1

precision='uint8=uint8';%头文件中datatype=1对应ENVI中数据类型为Byte,对应MATLAB中数据类型为uint8

case 2

precision='int16=int16';%头文件中datatype=2对应ENVI中数据类型为Integer,对应MATLAB中数据类型为int16

case 12

precision='uint16=uint16';%头文件中datatype=12对应ENVI中数据类型为Unsighed Int,对应MATLAB中数据类型为uint16

case 3

precision='int32=int32';%头文件中datatype=3对应ENVI中数据类型为Long Integer,对应MATLAB中数据类型为int32

case 13

precision='uint32=uint32';%头文件中datatype=13对应ENVI中数据类型为Unsighed Long,对应MATLAB中数据类型为uint32

case 4

precision='float32=float32';%头文件中datatype=4对应ENVI中数据类型为Floating Point,对应MATLAB中数据类型为float32

case 5

precision='double=double';%头文件中datatype=5对应ENVI中数据类型为Double Precision,对应MATLAB中数据类型为double

otherwise

error('invalid datatype');%除以上几种常见数据类型之外的数据类型视为无效的数据类型

end

%查找数据格式

a=strfind(info,'interleave = ');

b=length('interleave = ');

c=strfind(info,'sensor type');

interleave=[];

for i=a+b:c-1

interleave=[interleave,info(i)];

end

interleave=strtrim(interleave);%删除字符串中的空格

%读取图像文件

fid = fopen(imgfilename, 'r');

data = multibandread(imgfilename ,[lines, samples, bands],precision,0,interleave,'ieee-le');

data= double(data);

end

将上面的代码保存为read_ENVIimagefile.m就可以直接拿来用了。但是还需要一点小的改进,稍后会提到。

2、 Matlab批处理img格式的实现。代码存放于parmcount.m中,代码如下:

clc;

clear;

filestring='E:\郭\实验数据2\*.img';%计算不同的路径中的图像,只需更改这里

%______以下,对于没有显式扩展名的情况,添加扩展名'.img'_________________%

subfile=filestring;

changefile=strrep(subfile,'*.img','');%找到图像所在文件夹

cfile=dir(changefile);%找到该文件夹下所有文件

for k=1:length(cfile)

if (size(strfind(cfile(k).name,'.'))==0)%判断文件名中有没有'.',如果没有意味着没有扩展名

copyfile(strcat(changefile,cfile(k).name),strcat(changefile,strcat(cfile(k).name,'.img')));

%上面这句,为没有'.img'的添加上

%delete(strcat(changefile,cfile(k).name));%删除多余数据,可选

end

end

%_________________________________________________________________%

filedir=strrep(filestring,'*.img','');

file=dir(filestring);

filenum=length(file);

%___以下代码计算每个图像在每个波段的均值,以及每个波段上所有图像均值的均值___%

fid=fopen(strcat(filedir,'均值.txt'),'wt');

fprintf(fid,'%s', '每个图像在每个波段的均值');

total=zeros(52,14);

for k=1:filenum

tempfile=strcat(filedir,file(k).name);

imgdata=read_ENVIimagefile(tempfile);

fprintf(fid,'\n%s',strcat('file',cfile(k).name,':'));

for i=1:14%事先已经知道共有14个波段,这点不好,需要对read_ENVIimagefile进行改造

meanvalue=[];

imgband=imgdata(:,:,i);

[x,y]=size(imgband);

reband=reshape(imgband,x*y,1);

countmean=mean(reband);

total(k,i)=countmean;

countmean=num2str(countmean);

meanvalue=[meanvalue countmean ' '];

meanvalue=num2str(meanvalue);

fprintf(fid,'%s',meanvalue);

end

end

fclose(fid);

fid1=fopen(strcat(filedir,'所有图像均值的均值.txt'),'wt');

fprintf(fid1,'所有图像均值的均值:');

fprintf(fid1,'%s',num2str(mean(total)));

fclose(fid1);

%___以下代码计算每个图像在每个波段的最大值,以及每个波段上所有图像的最大值的均值___%

fid=fopen(strcat(filedir,'最大值.txt'),'wt');

total=zeros(52,14);

for k=1:filenum

tempfile=strcat(filedir,file(k).name);

imgdata=read_ENVIimagefile(tempfile);

fprintf(fid,'\n%s',strcat('file',cfile(k).name,':'));

for i=1:14

maxvalue=[];

imgband=imgdata(:,:,i);

[x,y]=size(imgband);

reband=reshape(imgband,x*y,1);

countmax=max(reband);

total(k,i)=countmax;

countmax=num2str(countmax);

maxvalue=[maxvalue countmax ' '];

maxvalue=num2str(maxvalue);

fprintf(fid,'%s',maxvalue);

end

end

fclose(fid);

fid1=fopen(strcat(filedir,'所有图像最大值的均值.txt'),'wt');

fprintf(fid1,'所有图像最大值的均值:');

fprintf(fid1,'%s',num2str(mean(total)));

fclose(fid1);

%___以下代码计算每个图像在每个波段的最小值,以及每个波段上所有图像的最小值的均值___%

fid=fopen(strcat(filedir,'最小值.txt'),'wt');

total=zeros(52,14);

for k=1:filenum

tempfile=strcat(filedir,file(k).name);

imgdata=read_ENVIimagefile(tempfile);

fprintf(fid,'\n%s',strcat('file',cfile(k).name,':'));

for i=1:14

minvalue=[];

imgband=imgdata(:,:,i);

[x,y]=size(imgband);

reband=reshape(imgband,x*y,1);

countmin=min(reband);

total(k,i)=countmin;

countmin=num2str(countmin);

minvalue=[minvalue countmin ' '];

minvalue=num2str(minvalue);

fprintf(fid,'%s',minvalue);

end

end

fclose(fid);

fid1=fopen(strcat(filedir,'所有图像最小值的均值.txt'),'wt');

fprintf(fid1,'所有图像最小值的均值:');

fprintf(fid1,'%s',num2str(mean(total)));

fclose(fid1);

%___以下代码计算每个图像在每个波段的方差,以及每个波段上所有图像的方差的均值___%

fid=fopen(strcat(filedir,'方差.txt'),'wt');

total=zeros(52,14);

for k=1:filenum

tempfile=strcat(filedir,file(k).name);

imgdata=read_ENVIimagefile(tempfile);

fprintf(fid,'\n%s',strcat('file',cfile(k).name,':'));

for i=1:14

meanvalue=[];

imgband=imgdata(:,:,i);

[x,y]=size(imgband);

reband=reshape(imgband,x*y,1);

countvar=var(reband);

total(k,i)=countvar;

countvar=num2str(countvar);

varvalue=[meanvalue countvar ' '];

varvalue=num2str(varvalue);

fprintf(fid,'%s',varvalue);

end

end

fclose(fid);

fid1=fopen(strcat(filedir,'所有图像方差的均值.txt'),'wt');

fprintf(fid1,'所有图像方差的均值:');

fprintf(fid1,'%s',num2str(mean(total)));

fclose(fid1);

arcgis打开hdr文件

是想问hdr怎么在arcgis中打开?需要专门的软件查看。

1、安装arcgis系列软件,找到catalog软件。

2、点击进入catalog软件,点击文件夹关联,连接到文件所在文件夹位置。

3、在catalog里我们可以看到,gdb以库的形式展现。

4、点击进入该库,可看到有很多的图层,这就是该文件地理数据库中存放的东西。

5、点击预览,可以查看图层的可视化内。

ArcGIS产品线为用户提供一个可伸缩的,全面的GIS平台。ArcObjects包含了许多的可编程组件,从细粒度的对象(例如单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象)涉及面极广,这些对象为开发者集成了全面的GIS功能。-c读取hdr格式文件下载

3D的HDRI到底是什么 谁能具体解释一下 HDR文件又是什么能下载吗

HDR的全称是High Dynamic Range,即高动态范围,比如所谓的高动态范围图象(HDRI)或者高动态范围渲染(HDRR)。动态范围是指信号最高和最低值的相对比值。目前的16位整型格式使用从“0”(黑)到“1”(白)的颜色值,但是不允许所谓的“过范围”值,比如说金属表面比白色还要白的高光处的颜色值。 在HDR的帮助下,我们可以使用超出普通范围的颜色值,因而能渲染出更加真实的3D场景。也许我们都有过这样的体验:开车经过一条黑暗的隧道,而出口是耀眼的阳光,由于亮度的巨大反差,我们可能会突然眼前一片白光看不清周围的东西了,HDR在这样的场景就能大展身手了。 下面是由OpenEXR网站提供的HDR的一个简单例子。OpenEXR是由工业光魔(Industrial Light Magic)开发的一种HDR标准。工业光魔则是一家世界闻名的加州工作室,该工作室创造过许多惊人的CG和视觉效果,比如1977年版的电影《星球大战》中的总多特效。 最左边的是原始图片,树木非常暗因为整体曝光受到远处高亮光的影响;中间图片的亮度提高了3级;而右边图片的亮度提高了7级,树木的细节很容易辨别,而背景极度明亮。 总之简单来说,HDR可以用3句话来概括: 1.亮的地方可以非常亮 2.暗的地方可以非常暗 3.亮暗部的细节都很明显 HDR是目前追求画面逼真度最新最先进的手段。Crytek已经准备把它加入Far Cry 的1.3补丁中,以及他的史诗大作Unreal Engine 3。根据最近透露出来的消息,他们正在为半条命2:迷失海岸制作特殊的HDR效果,同时,FarCry将通过Shader Model 3执行HDR,这些,将只能工作在NVIDIA最新的显卡上。半条命2通过Shader Model 2执行HDR,主要是考虑到ATI显卡的目前情况 什么是HDRI文件? HDRI文件是一种文件,扩展名是hdr或tif格式,有足够的能力保存光照信息,但不一定是全景图。Dynamic Range(动态范围)是指一个场景的最亮和最暗部分之间的相对比值。一张HDR图片,它记录了远远超出256个级别的实际场景的亮度值,超出的部分在屏幕上是显示不出来的。可以这样想象:在photoshop里打开一张从室内往窗外外拍的图片,窗外的部分处在强烈的阳光下,曝光过度,呈现的是一片白色,没有多少细节。你将毫无办法,调暗只会把白色变成灰色而已,并不会呈现更多的细节。但如果同一场景是由hdr纪录的话,你减低曝光度,原来纯白的部分将会呈现更多的细节-c读取hdr格式文件下载