在iPhone屏幕上检测亮/暗点

NSR*_*ver 6 iphone

我想检测并标记图像上最亮和最暗的点.

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

一个例子

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

Sen*_*neL 3

无论如何,您必须读取像素才能检测到这一点。但如果你想让它更快,不要读取每个像素:只读取 100 个像素中的 1 个:

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

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


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