我正在寻找java API将JPEG文件流转换为TIFF文件.我看了JAI,但没有找到类似于我正在看的东西.
有人能指出我这样做的好API吗?
tiff()在我的系统中似乎忽略了分辨率和压缩选项(请参阅下面的信息).这似乎与本SO问题中讨论的问题相同 ; 我在这里发布问题,以便我可以更具体地了解我的系统.
例如以下代码,
x <- rnorm(1000)
tiff("example.tiff", height=3, width=5, units="in", res=200, compression="lzw")
hist(x)
dev.off()
Run Code Online (Sandbox Code Playgroud)
产生一个表面看起来很好的.tiff文件,但是当我使用Photoshop查看图像大小时,我看到了这一点

这与tiff()创建具有正确像素数的文件一致,但是以英寸为单位的尺寸错误.(当我想控制图像的字体大小和图像大小时,例如对于需要特定物理图像大小的出版物,这种差异会让我遇到麻烦).
请注意,该文件也是2.5 MB,这对于3"-by-5"黑白lzw压缩的tiff来说似乎太大了.我怀疑压缩选项也被忽略了.
我得到了相同的结果ggsave(可能依赖于tiff()引擎盖?)和png(),所以这似乎是R和OSX处理图像文件的方式的一般问题.
我正在使用R Studio 0.97.449,在OSX 10.8上使用R 3.0.0,详情如下.
> sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.0.0
Run Code Online (Sandbox Code Playgroud) 我需要将tiff文件转换为BufferedImage.我写了以下代码:
String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename);
BufferedImage img = ImageIO.read(myFile);
Run Code Online (Sandbox Code Playgroud)
我知道myFile是正确实例化的:问题是在第四行代码后img仍为null.
我究竟做错了什么?非常感谢!
编辑
解决了,我使用了以下代码:
FileSeekableStream stream = new FileSeekableStream(filepath + filename);
TIFFDecodeParam decodeParam = new TIFFDecodeParam();
decodeParam.setDecodePaletteAsShorts(true);
ParameterBlock params = new ParameterBlock();
params.add(stream);
RenderedOp image1 = JAI.create("tiff", params);
BufferedImage img = image1.getAsBufferedImage();
Run Code Online (Sandbox Code Playgroud) 尝试下载特定位置的哨兵图像时,默认情况下会在驱动器中生成tif文件,但openCV或PIL.Image()无法读取该tif文件。以下是该代码。如果我使用文件格式作为tfrecord。驱动器中没有下载图像。
starting_time = '2018-12-15'
delta = 15
L = -96.98
B = 28.78
R = -97.02
T = 28.74
cordinates = [L,B,R,T]
my_scale = 30
fname = 'sinton_texas_30'
llx = cordinates[0]
lly = cordinates[1]
urx = cordinates[2]
ury = cordinates[3]
geometry = [[llx,lly], [llx,ury], [urx,ury], [urx,lly]]
tstart = datetime.datetime.strptime(starting_time, '%Y-%m-%d') tend =
tstart+datetime.timedelta(days=delta)
collSent = ee.ImageCollection('COPERNICUS/S2').filterDate(str(tstart).split('')[0], str(tend).split(' ')[0]).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)).map(mask2clouds)
medianSent = ee.Image(collSent.reduce(ee.Reducer.median())) cropLand = ee.ImageCollection('USDA/NASS/CDL').filterDate('2017-01-01','2017-12-31').first()
task_config = {
'scale': my_scale,
'region': geometry,
'fileFormat':'TFRecord'
}
f1 = medianSent.select(['B1_median','B2_median','B3_median'])
taskSent = ee.batch.Export.image(f1,fname+"_Sent",task_config) …Run Code Online (Sandbox Code Playgroud) 当我看到这种输出时,我的胃会搅动.
http://www.freeimagehosting.net/uploads/e1097a5a10.jpg
这是我的命令,如最好的方法将pdf文件转换为tiff文件
gswin32c.exe -q -dNOPAUSE -sDEVICE=tiffg4 -sOutputFile=a.tif a.pdf -c quit
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
(不考虑商业产品)
如何知道TIFF图像的格式是CCITT T.6(第4组)?
我正在开发一个PHP脚本,可以自动将TIFF图像转换为PNG文件.
为此,我使用ImageMagick:
$ convert a.tif a.png
Run Code Online (Sandbox Code Playgroud)
它在某种程度上起作用,然而,颜色非常尖锐,并且与我们在PC上的图像方式不同.为了说明问题,请查看随附的文件,包括:
有谁知道是否,如果是这样,我可以改变ImageMagick颜色解释?
非常感谢!
我想编写一个GEOTIFF,其中包含Java中的所有地理元数据.哪个库等最适合此目的?
我的系统是Mac OS X v10.8.2.我有几个2560x500未压缩的16位TIFF图像(灰度,无符号16位整数).我首先尝试使用PIL加载它们(通过Homebrew,1.7.8版安装):
from PIL import Image
import numpy as np
filename = 'Rocks_2ptCal_750KHz_20ms_1ma_120KV_2013-03-06_20-02-12.tif'
img = Image.open(filename)
# >>> img
# <PIL.TiffImagePlugin.TiffImageFile image mode=I;16B size=2560x500 at 0x10A383C68>
img.show()
# almost all pixels displayed as white. Not correct.
# MatLab, EZ-draw, even Mac Preview show correct images in grayscale.
imgdata = list(img.getdata())
# most values negative:
# >>> imgdata[0:10]
# [-26588, -24079, -27822, -26045, -27245, -25368, -26139, -28454, -30675, -28455]
imgarray = np.asarray(imgdata, dtype=np.uint16)
# values now correct
# >>> …Run Code Online (Sandbox Code Playgroud) Hallo Stack Overflow社区,
我对.tif文件有点小问题.我确信这只是一个小问题,我无法解决(请记住,我是一个相对较新的程序员).
基本上:我准备了大小为64x64xn的文件(n直到1000).图像只是包含所有这些切片的单个文件.我想将图像加载到(多维)numpy数组中.我试过了:
from PIL import Image as pilimage
file_path=(D:\luca\test\test.tif)
print("The selected stack is a .tif")
dataset = pilimage(file_path)
tiffarray = np.array(dataset)
expim = tiffarray.astype(np.double);
print(expim.shape)
Run Code Online (Sandbox Code Playgroud)
和其他东西(如tifffile).我似乎只能读取堆栈的第一个切片."expim"是否可以包含tiff堆栈中保存的所有信息?
任何帮助表示赞赏!