Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
8*8块的亮度 有一个C++函数或OpenCV库,可以计算给定的8×8块或总图像的亮度的平均对数?我的目标是计算平均亮度并将其存储回块中。另外,是否有另一种适合人类视觉系统的科学方法来计算整体亮度或平均亮度?如果有人能在C++中给我指出一个函数或函数,我会很感激.< /p> < P>计算一个8x8块的平均亮度,以输入灰度图像中的每个像素为中心,你可以用包含1/64值的8x8内核(即1 /(8×8))在每一个单元中执行该图像的2D卷积。_C++_Opencv_Block_Retina_Luminance - Fatal编程技术网

8*8块的亮度 有一个C++函数或OpenCV库,可以计算给定的8×8块或总图像的亮度的平均对数?我的目标是计算平均亮度并将其存储回块中。另外,是否有另一种适合人类视觉系统的科学方法来计算整体亮度或平均亮度?如果有人能在C++中给我指出一个函数或函数,我会很感激.< /p> < P>计算一个8x8块的平均亮度,以输入灰度图像中的每个像素为中心,你可以用包含1/64值的8x8内核(即1 /(8×8))在每一个单元中执行该图像的2D卷积。

8*8块的亮度 有一个C++函数或OpenCV库,可以计算给定的8×8块或总图像的亮度的平均对数?我的目标是计算平均亮度并将其存储回块中。另外,是否有另一种适合人类视觉系统的科学方法来计算整体亮度或平均亮度?如果有人能在C++中给我指出一个函数或函数,我会很感激.< /p> < P>计算一个8x8块的平均亮度,以输入灰度图像中的每个像素为中心,你可以用包含1/64值的8x8内核(即1 /(8×8))在每一个单元中执行该图像的2D卷积。,c++,opencv,block,retina,luminance,C++,Opencv,Block,Retina,Luminance,这称为标准化框过滤器/框模糊 然后,您可以在(x,y)处对结果图像进行采样,以获得以(x,y)为中心的8x8块的平均亮度 OpenCV手册中有规范化方框过滤器的代码,用户可以选择大小 关于此值的“log”,您可以使用OpenCV函数cvLog获取过滤图像的日志并获得结果。RGB2GRAY将RGB转换为亮度。然后是8x8平均滤波器。然而,根据我的经验,OpenCv往往比手工编码慢;我可以简单地将所有64个像素的总和除以64,得到平均亮度,再乘以对数值??为什么我要为每个像素的邻居做更多的计算?请

这称为标准化框过滤器/框模糊

然后,您可以在(x,y)处对结果图像进行采样,以获得以(x,y)为中心的8x8块的平均亮度

OpenCV手册中有规范化方框过滤器的代码,用户可以选择大小


关于此值的“log”,您可以使用OpenCV函数cvLog获取过滤图像的日志并获得结果。

RGB2GRAY将RGB转换为亮度。然后是8x8平均滤波器。然而,根据我的经验,OpenCv往往比手工编码慢;我可以简单地将所有64个像素的总和除以64,得到平均亮度,再乘以对数值??为什么我要为每个像素的邻居做更多的计算?请告诉我您的意见,尊敬的。执行卷积/滤波更有效。考虑计算平均值,你建议的方法需要在XY像素(8×8窗口)上嵌套循环,然后,需要在图像中的所有WH像素,这是嵌套循环内的嵌套循环。这是一个称为“卷积”的操作的空间实现,是一个复杂度为O(n^2)的缓慢操作。通过将图像和8x8窗口变换到频域,相乘,再变换回来,可以更有效地执行卷积。这可以在O(log(n))时间或更好的时间内完成。如果窗口的权重为零,那么边距像素会如何?这不会产生正确的结果,对不起,我变老了,变傻了。你是对的,卷积的结果在图像边界无效(即在足够公平的范围内,尽管我想我的观点是你所说的“经典”方法正在执行卷积,无论您是否这样称呼。您仍然需要通过某种策略处理边缘情况,即图像边界处。如果使用OpenCV中的过滤函数,我相信这些无效/超出范围的值将被视为零。