- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取“.dng”图像分辨率,但我得到的分辨率不正确。但我得到了“.jpg”图像的正确分辨率
img = Image.open("01109677451NasiLemakBiasa.dng")
width = img.width
height = img.height
print(width, height)
# Output 256 171
图像(01109677451NasiLemakBiasa.dng)的实际分辨率为 1024 x 683
请帮我得到正确的图像宽度和高度
最佳答案
PIL
不读取 DNG 文件,也不喜欢每 channel 16 位 RGB。我想你需要像 rawpy 这样的东西
import rawpy
path = '/Users/mark/Desktop/RAW_LEICA_M8.DNG'
with rawpy.imread(path) as raw:
rgb = raw.postprocess()
print(rgb.shape) # It's a Numpy array
样本输出
Out[9]: (2638, 3920, 3)
另一个选项是 Exiftool
,您可以像这样安装它:
pip3 install PyExifTool
并像这样使用:
import exiftool
with exiftool.ExifTool() as et:
metadata = et.get_metadata('/path/to/RAW_LEICA_M8.DNG')
print(metadata)
{'SourceFile': '/path/to/RAW_LEICA_M8.DNG',
'ExifTool:ExifToolVersion': 12.0,
'File:FileName': 'RAW_LEICA_M8.DNG',
'File:Directory': '/path/to',
'File:FileSize': 10575296,
'File:FileModifyDate': '2021:08:16 08:54:30+01:00',
'File:FileAccessDate': '2021:08:16 09:56:33+01:00',
'File:FileInodeChangeDate': '2021:08:16 09:56:31+01:00',
'File:FilePermissions': 644,
'File:FileType': 'DNG',
'File:FileTypeExtension': 'DNG',
'File:MIMEType': 'image/x-adobe-dng',
'File:ExifByteOrder': 'II',
'EXIF:Make': 'Leica Camera AG',
'EXIF:Model': 'M8 Digital Camera',
'EXIF:Orientation': 1,
'EXIF:Software': 1.107,
'EXIF:Artist': '',
'EXIF:SubfileType': 0,
'EXIF:ImageWidth': 3920, <--- HERE IS THE WIDTH
'EXIF:ImageHeight': 2638, <--- HERE IS THE HEIGHT
'EXIF:BitsPerSample': 8,
'EXIF:Compression': 1,
'EXIF:PhotometricInterpretation': 32803,
'EXIF:StripOffsets': '(Binary data 1315 bytes, use -b option to extract)',
'EXIF:SamplesPerPixel': 1,
'EXIF:RowsPerStrip': 16,
'EXIF:StripByteCounts': '(Binary data 989 bytes, use -b option to extract)',
'EXIF:XResolution': 300,
'EXIF:YResolution': 300,
'EXIF:PlanarConfiguration': 1,
'EXIF:ResolutionUnit': 2,
'EXIF:CFARepeatPatternDim': '2 2',
'EXIF:CFAPattern2': '0 1 1 2',
'EXIF:LinearizationTable': '(Binary data 1244 bytes, use -b option to extract)',
'EXIF:WhiteLevel': 16383,
'EXIF:DefaultCropOrigin': '2 2',
'EXIF:DefaultCropSize': '3916 2634',
'EXIF:BayerGreenSplit': 500,
'EXIF:AntiAliasStrength': 0,
'EXIF:Copyright': '',
'EXIF:ExposureTime': 12,
'EXIF:ExposureProgram': 1,
'EXIF:ISO': 160,
'EXIF:ExifVersion': '0220',
'EXIF:CreateDate': '2007:08:02 22:13:49',
'EXIF:ShutterSpeedValue': 11.3137084989848,
'EXIF:ExposureCompensation': 0,
'EXIF:MaxApertureValue': 2,
'EXIF:MeteringMode': 2,
'EXIF:LightSource': 0,
'EXIF:Flash': 0,
'EXIF:FocalLength': 50,
'EXIF:FileSource': 3,
'EXIF:SceneType': 1,
'EXIF:WhiteBalance': 0,
'EXIF:DigitalZoomRatio': 0,
'EXIF:FocalLengthIn35mmFormat': 67,
'EXIF:SceneCaptureType': 0,
'EXIF:ImageUniqueID': '00000000000000000000000000000147',
'EXIF:SelfTimerMode': 0,
'EXIF:DateTimeOriginal': '2007:08:02 22:13:49',
'EXIF:FocalPlaneXResolution': 3729,
'EXIF:FocalPlaneYResolution': 3764,
'EXIF:FocalPlaneResolutionUnit': 2,
'EXIF:TIFF-EPStandardID': '0 0 0 1',
'EXIF:DNGVersion': '1 0 0 0',
'EXIF:UniqueCameraModel': 'M8 Digital Camera',
'EXIF:ColorMatrix1': '1.0469 -0.5314 0.128 -0.4326 1.2176 0.2419 -0.0886 0.2473 0.716',
'EXIF:ColorMatrix2': '0.7675 -0.2195 -0.0305 -0.586 1.4118 0.1857 -0.2425 0.4007 0.6578',
'EXIF:CameraCalibration1': '1 0 0 0 1 0 0 0 1',
'EXIF:CameraCalibration2': '1 0 0 0 1 0 0 0 1',
'EXIF:AsShotNeutral': '0.4750637903 1 0.7966159382',
'EXIF:BaselineNoise': 1,
'EXIF:BaselineSharpness': 1,
'EXIF:CameraSerialNumber': 3106091,
'EXIF:CalibrationIlluminant1': 17,
'EXIF:CalibrationIlluminant2': 21,
'MakerNotes:UserProfile': 1,
'MakerNotes:SerialNumber': 3106091,
'MakerNotes:WhiteBalance': 0,
'MakerNotes:LensType': '33 3',
'MakerNotes:ExternalSensorBrightnessValue': -5.16796875,
'MakerNotes:MeasuredLV': -4.359375,
'MakerNotes:ApproximateFNumber': 4,
'MakerNotes:CameraTemperature': 19,
'MakerNotes:ColorTemperature': 5515,
'MakerNotes:UV-IRFilterCorrection': 0,
'MakerNotes:CCDVersion': 0,
'MakerNotes:CCDBoardVersion': 1,
'MakerNotes:ControllerBoardVersion': 0,
'MakerNotes:M16CVersion': 0,
'MakerNotes:ImageIDNumber': 327,
'Composite:CFAPattern': '2 2 0 1 1 2',
'Composite:ImageSize': '3920 2638',
'Composite:LensID': '33 3',
'Composite:Megapixels': 10.34096,
'Composite:ScaleFactor35efl': 1.34,
'Composite:ShutterSpeed': 12,
'Composite:CircleOfConfusion': 0.0224225825588557,
'Composite:FOV': 30.0756572109854,
'Composite:FocalLength35efl': 67}
从 Raw Samples 下载的示例原始图像.
关于python-3.x - 使用 Python 查找 '.dng' 图像分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68798276/
我正在处理一组标记为 160 个组的 173k 点。我想通过合并最接近的(到 9 或 10 个组)来减少组/集群的数量。我搜索过 sklearn 或类似的库,但没有成功。 我猜它只是通过 knn 聚类
我有一个扁平数字列表,这些数字逻辑上以 3 为一组,其中每个三元组是 (number, __ignored, flag[0 or 1]),例如: [7,56,1, 8,0,0, 2,0,0, 6,1,
我正在使用 pipenv 来管理我的包。我想编写一个 python 脚本来调用另一个使用不同虚拟环境(VE)的 python 脚本。 如何运行使用 VE1 的 python 脚本 1 并调用另一个 p
假设我有一个文件 script.py 位于 path = "foo/bar/script.py"。我正在寻找一种在 Python 中通过函数 execute_script() 从我的主要 Python
这听起来像是谜语或笑话,但实际上我还没有找到这个问题的答案。 问题到底是什么? 我想运行 2 个脚本。在第一个脚本中,我调用另一个脚本,但我希望它们继续并行,而不是在两个单独的线程中。主要是我不希望第
我有一个带有 python 2.5.5 的软件。我想发送一个命令,该命令将在 python 2.7.5 中启动一个脚本,然后继续执行该脚本。 我试过用 #!python2.7.5 和http://re
我在 python 命令行(使用 python 2.7)中,并尝试运行 Python 脚本。我的操作系统是 Windows 7。我已将我的目录设置为包含我所有脚本的文件夹,使用: os.chdir("
剧透:部分解决(见最后)。 以下是使用 Python 嵌入的代码示例: #include int main(int argc, char** argv) { Py_SetPythonHome
假设我有以下列表,对应于及时的股票价格: prices = [1, 3, 7, 10, 9, 8, 5, 3, 6, 8, 12, 9, 6, 10, 13, 8, 4, 11] 我想确定以下总体上最
所以我试图在选择某个单选按钮时更改此框架的背景。 我的框架位于一个类中,并且单选按钮的功能位于该类之外。 (这样我就可以在所有其他框架上调用它们。) 问题是每当我选择单选按钮时都会出现以下错误: co
我正在尝试将字符串与 python 中的正则表达式进行比较,如下所示, #!/usr/bin/env python3 import re str1 = "Expecting property name
考虑以下原型(prototype) Boost.Python 模块,该模块从单独的 C++ 头文件中引入类“D”。 /* file: a/b.cpp */ BOOST_PYTHON_MODULE(c)
如何编写一个程序来“识别函数调用的行号?” python 检查模块提供了定位行号的选项,但是, def di(): return inspect.currentframe().f_back.f_l
我已经使用 macports 安装了 Python 2.7,并且由于我的 $PATH 变量,这就是我输入 $ python 时得到的变量。然而,virtualenv 默认使用 Python 2.6,除
我只想问如何加快 python 上的 re.search 速度。 我有一个很长的字符串行,长度为 176861(即带有一些符号的字母数字字符),我使用此函数测试了该行以进行研究: def getExe
list1= [u'%app%%General%%Council%', u'%people%', u'%people%%Regional%%Council%%Mandate%', u'%ppp%%Ge
这个问题在这里已经有了答案: Is it Pythonic to use list comprehensions for just side effects? (7 个答案) 关闭 4 个月前。 告
我想用 Python 将两个列表组合成一个列表,方法如下: a = [1,1,1,2,2,2,3,3,3,3] b= ["Sun", "is", "bright", "June","and" ,"Ju
我正在运行带有最新 Boost 发行版 (1.55.0) 的 Mac OS X 10.8.4 (Darwin 12.4.0)。我正在按照说明 here构建包含在我的发行版中的教程 Boost-Pyth
学习 Python,我正在尝试制作一个没有任何第 3 方库的网络抓取工具,这样过程对我来说并没有简化,而且我知道我在做什么。我浏览了一些在线资源,但所有这些都让我对某些事情感到困惑。 html 看起来
我是一名优秀的程序员,十分优秀!