9

我正在寻找确定摄影质量的方法(jpg)。我想到的第一件事是将文件大小与存储在其中的像素数量进行比较。还有其他方法吗,例如检查 jpg 中的噪声量?有没有人有关于这个主题的良好阅读链接或任何经验?顺便说一句,我正在处理的项目是用 C# (.net 3.5) 编写的,我使用 Aurigma Graphics Mill 进行图像处理。

提前致谢!

4

5 回答 5

7

我不完全清楚你所说的“质量”是什么意思,如果你指的是 JPG 压缩算法中的质量设置,那么你可以从图像的 EXIF 标签中提取它(依赖于捕获设备将它们放入和没有其他人覆盖它们)为您的库请参见此处:

http://www.aurigma.com/Support/DocViewer/30/JPEGFileFormat.htm.aspx

如果您指的是任何其他类型的“质量”,那么您需要对质量提出更好的定义。例如,过度曝光可能是一个问题,在这种情况下寻找饱和像素将有助于确定特定类型的质量。或者更一般地,您可以查看 3 个颜色通道中图像直方图的统计数据(平均值、标准偏差)。图像可能失焦,在这种情况下,您可以在图像傅里叶变换的空间频率中寻找截止点。如果您担心散斑噪声,那么您可以尝试对图像应用中值滤波器并与原始图像进行比较(更多的散斑噪声会产生更大的变化) - 我在这里猜测了一下。

如果“质量”是指构图的美学特性等,那么-祝你好运!

于 2009-01-12T13:58:38.583 回答
2

图像的“质量”是不可测量的,因为它不对应于任何特定的值。如果您将其视为特定尺寸图像中的像素数,则它不准确。您可能会将在光线不好的情况下拍摄的照片称为“质量差”,即使它与在良好光线条件下拍摄的另一张照片的像素数完全相同。该术语通常用于谈论图像的整体效果,而不是其技术规格。

于 2011-03-07T18:00:54.967 回答
0

我想做类似的事情,但想要“Soylent Green”选项,并让人们通过进行比较来对图像进行排名。请参阅此处的问题回复

于 2009-01-12T12:42:20.547 回答
0

我想您是在问如何确定压缩过程本身的质量。这可以通过将 JPEG 转换为 BMP 并将该 BMP 与创建 JPEG 的原始位图进行比较来完成。您可以逐个像素地遍历位图,并通过将每对像素的 R、G 和 B 值之间的差异(即原始像素和JPEG)并除以像素总数。这将为您提供原始和 JPEG 之间平均差异的度量。

于 2009-01-12T13:39:49.417 回答
-2

读取图像中的像素数可以告诉您“百万像素”大小(#pixels/1000000),这可能是程序质量检查的一种粗略形式,但这不会告诉您照片是否正确聚焦,假设它是假设的集中注意力(想想快速运动的物体,比如火车),也不管天气与否,图片中是否有值得一看的东西,如果你愿意,这将需要一个人或鸽子。

于 2009-01-12T12:26:04.167 回答