是否有任何Pythonic解决方案来读取和处理RAW图像.即使它只是访问原始照片文件(例如cr2或dng),然后将其输出为jpeg.
理想情况下,python的dcraw绑定,但其他任何可以完成它的东西也足够了.
我正在尝试从任意像素阵列生成 TIFF/EP Profile 2 原始 (.dng) 图像。该像素阵列代表拜耳模式(CFA)。
我研究了 TIFF/EP 文件规范,并通过使用 libtiff,包含了我认为生成完整 .dng 文件所需的所有标签。但是,我无法使用 dcraw 转换创建的文件(dcraw 显示无法解码文件)。
一个问题可能是由两个标签引起的,这两个标签在 TIFF/EP 规范中被声明为强制标签,但似乎并未在 libtiff 中实现:SensingMethod 和 TIFF/EPStandardID 标签。我真的必须包含它们吗(我已经看到示例代码忽略了这些标签,但仍然报告可以正常工作),如果是这样,我如何手动将它们添加到 libtiff 中?此外,设置 SubIFD 标记会产生错误消息“断言失败:*pa<=0xFFFFFFFFUL,文件 tif_dirwrite.c,第 1869 行”
总而言之,我不认为我的问题只是由于这三个标签造成的,而且我相信存在根本性的错误。也许你们中的某个人可以看看我的代码并提供一些线索?我不得不说 libtiff 的文档相当差,所以我的代码受到了极少数示例代码之一的启发:elphel_dng.c。
非常感谢!法比安
附言。我将生成的文件上传到Dropbox
C++
#include "tiffio.h"
#include <iostream>
using namespace std;
int main(void)
{
TIFF *tif = TIFFOpen("8bitRaw.dng", "w");
const int sampleperpixel = 1;
const int width = 4;
const int height = 4;
static const short bayerPatternDimensions[] = { 2,2 };
static const …
Run Code Online (Sandbox Code Playgroud) 无论如何(命令行工具)是否可以计算 .NEF(还有 .CR2、.TIFF)的 MD5 哈希,而不管任何元数据,例如 EXIF、IPTC、XMP 等等?
一旦我们更新了图像文件中的任何元数据,MD5 哈希值应该相同。
我搜索了一段时间,最接近的解决方案是:
exiftool test.nef -all= -o - -m | md5
Run Code Online (Sandbox Code Playgroud)
但是 'exiftool -all=' 仍然在输出文件中保留一组 EXIF 标签。如果我更新剩余的标签,可以更改 MD5 哈希值。
我正在使用dcraw(http://www.cybercom.net/~dcoffin/dcraw/)来处理相机原始文件并将其管理到imagemagick以将其转换为jpg以供Web使用.我做了一些不同的测试,jpeg永远不会产生与我在Adobe Lightroom 3中看到的完全相同的颜色/亮度.即使我只是从dcraw那里做了tiff,tiff也没有相同的颜色.所以,我认为在命令的绘制部分需要调整一些东西.
在jpeg上复制原始文件的正确颜色和亮度的最佳方法是什么?我现在正在这样做:
dcraw -c -w 7_1337801236.orf | convert -compress lzw - 7_1337801236.jpg
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何建议.