I'd try a very "tinkery" approach here:
Erode the image, so that the black area is shrunk by a fixed radius of pixels from its border (say, 5px).
Dilate the resulting image by the same amount
measure the amount of difference between original and processed image.
The idea is that something that is a locally convex border doesn't suffer through erosion (it's ...
Frequencies in this context just means how fast the intensities change in the greyscale images as we move in the plane of the 2-D image.
As you might be knowing the edges or boundaries or outlines of objects in the images are composed of high frequency elements. Why? Because in order to show the outline of an object in the image, the intensities at the ...
Detail in images require higher frequency basis functions. The frequency in this case is measuring fluctuations in intensity as a distance is traversed. With a lot of detail, a lot of fluctuations, thus higher frequency.
Tamp down the higher frequency and you lose detail, i.e. the image blurs.
The dampening is measured (described) best on a log scale.
I find that pretty well-written; just as you can have time signal that has frequency properties, you can have a spatial signal that has frequencies. That's a pretty important concept in image descriptions and processing!
If you don't want to use the PyPI package for bm3d, you can use ffmpeg and run the bm3d filter as an OS command-
command="ffmpeg -i "+input_image_path+" -filter_complex bm3d=sigma=30/255:block=4:bstep=2:group=1:hdthr=10000:estim=basic /path/to/output/directory/output.png"
This takes lesser computation time.