我正在尝试量化具有一些散景(失焦背景)的图片中有多少锐度(或锐度)。
我为此使用了 Python scikit 图像。这是我天真的方法:
import matplotlib.pyplot as plt
from skimage import data
from skimage.color import rgb2gray
from skimage.morphology import disk
from skimage.filters.rank import gradient
cat = data.chelsea() # cat is a 300-by-451 pixel RGB image
cat_gray = rgb2gray(cat)
selection_element = disk(5) # matrix of n pixels with a disk shape
cat_sharpness = gradient(cat_gray, selection_element)
plt.imshow(cat_sharpness, cmap="viridis")
plt.axis('off')
plt.colorbar()
plt.show()
如果使用Lena 图像,这种对比度问题的差异会更加明显:
在这里,由于对比度的差异,背景也被捕捉到了(右上角有一个黑框)
关于如何在仅突出显示重点区域的情况下给出标量值的任何想法?