此 mathematica 代码可消除图像中的眩光:
img = Import["foo.png"]
Inpaint[img, Dilation[saturated, DiskMatrix[20]]]
Run Code Online (Sandbox Code Playgroud)
正如这里得到最多支持的答案所示:
https://dsp.stackexchange.com/questions/1215/how-to-remove-a-glare-clipped-brightness-from-an-image
我想使用 opencv 而不是 Mathematica 来获得相同的结果。我如何在 opencv-python 中编写等效代码?
我有一个 rgba 格式的图像,其中包含 (0,0,0) 个黑色,我想将这些 (0,0,0) 像素中的每一个都转换为透明。图像已经有一个 alpha 通道,我不知道如何为一个像素激活 alpha 通道。我尝试将 alpha 通道值设置为 0,但到目前为止还没有奏效:
for y in range(len(blur)):
for x in range(len(blur[0])):
if blur[y][x][0] == 0 and blur[y][x][1] == 0 and blur[y][x][2] == 0:
blur[y][x][3] = 0
Run Code Online (Sandbox Code Playgroud)
另外,如何使用 numpy 来优化这个嵌套的 for 循环?