HDR如何工作,如何制作HDR效果

时间:2012-06-20 08:05:57

标签: image-processing hdrimages hdr

我读过一篇博客Histogram Equalization for Image Enhancement,它提供了将正常图像转换为HDR图像的7个步骤(下图)。 据说可以使用Open Computer Vision Library或OpenCV轻松编写用于直方图均衡的C / C ++程序。这个计划的主要步骤包括:

  1. 读取输入图像。由于OpenCV,这可以是大多数图像格式。此输入图像包含n像素:n = height × width

  2. 从RGB转换(由OpenCV以蓝色,绿色,红色的顺序存储)转换为HSV:Hue,Saturation和Value。

  3. 计算输入图像的直方图。这是一个256值数组,其中H[x]包含值为x的像素数。

  4. 计算直方图的累积密度函数。这是一个256值数组,其中cdf[x]包含值为x或更少的像素数: cdf[x] = H[0] + H[1] + H[2] + ... + H[x]

  5. 循环遍历整个图片中的n像素,并替换每个i点的值:V[i] <-- floor(255*(cdf[V[i]] - cdf[0])/(n - cdf[0]))

  6. 将图像从HSV转换回RGB。

  7. 以所需的格式和文件名保存图像。

  8. 在第3步,我不明白H[x]是什么? x是指R,G,B或H,S或V值吗?此外,在步骤5,值i的含义是什么?

1 个答案:

答案 0 :(得分:2)

第一个问题:

H(x)是图像的直方图。

强度等级在[0,255]范围内的数字图像的直方图是离散函数h(r_k)= n_k,其中r_k是第k个强度值,n_k是图像中具有强度的像素数r_k。

来自:数字图像处理第三版Gonzalez / Woods第120页

第二个问题:我是什么?

我是在图片上循环的变量。