Opengl 图像滤波-使用glsl着色器的直方图均衡化

Opengl 图像滤波-使用glsl着色器的直方图均衡化,opengl,image-processing,glsl,histogram,imagefilter,Opengl,Image Processing,Glsl,Histogram,Imagefilter,我需要用glsl实现一些图像过滤算法。据我所知,片段着色器代码针对图像纹理中的每个纹理(像素)运行。因此,实现基于点(像素)的滤波算法很容易(例如亮度/对比度变化、sobel滤波器等)。但是,对于直方图均衡化或在遍历所有像素的图像中查找最大像素值之类的任务,则需要。但是,在着色器代码中,执行类似于下面的操作并非如此 for (int y=0; y<h; y++) for (int x=0; x<w; x++) for(int y=0;是您自己指出的,片段着色器在本地执行,如果

我需要用glsl实现一些图像过滤算法。据我所知,片段着色器代码针对图像纹理中的每个纹理(像素)运行。因此,实现基于点(像素)的滤波算法很容易(例如亮度/对比度变化、sobel滤波器等)。但是,对于直方图均衡化或在遍历所有像素的图像中查找最大像素值之类的任务,则需要。但是,在着色器代码中,执行类似于下面的操作并非如此

for (int y=0; y<h; y++)
   for (int x=0; x<w; x++)

for(int y=0;是您自己指出的,片段着色器在本地执行,如果您不提供非本地数据,则无法访问它。您需要使用其他执行环境来收集所需的信息(compute、opencl)?获取一些信息的另一种简单方法是计算MIP映射,这样您就可以使用大内核进行查询。@Organ检查此链接:@Organ,我也在尝试实现类似的概念,我正在尝试自适应直方图均衡化,创建图像直方图和CLAHE,我也被卡住了,您有什么解决方案吗?@subhfyu546754 hi,您可以使用opengl计算着色器。请检查以下内容: