在iPhone屏幕上检测亮/暗点

时间:2011-12-28 08:25:10

标签: iphone

我想检测并标记图像上最亮和最暗的部位。

例如,我正在创建AVCaptureSession并使用AVCaptureVideoPreviewLayer在屏幕上显示视频帧。现在在这个相机输出视图中,我希望能够标记当前最暗和最亮的点。

An Example

我必须阅读图像像素数据吗?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:3)

在任何情况下,您都必须读取像素才能检测到这一点。但是,如果你想要快速,不要读每个像素:只读100中的一个:

for (int x = 0; x < widgh-10; x+=10) {
   for (int y = 0; y < height-10; y+=10) {
      //Detect bright/dark points here
   }
} 

然后,您可以阅读找到的像素周围的像素,以使结果更正确


这是获取像素数据的方法:stackoverflow.com/questions/448125 / ... ...在最亮点,红色+绿色+蓝色必须最大(225 + 225 + 225 = 675 = 100%白色) )。在最暗点,红色+绿色+蓝色必须最小(0 = 100%黑色)。