Python中用于图像清晰度或模糊度估计的任何现有代码/库?

问题描述 投票:0回答:1

我想找到一些现有的代码/库,用于估计普通图像的清晰度/模糊度。 (建议使用Python)以后,我将需要比较不同算法的性能。

我有10000多个具有不同“质量”(清晰度/模糊度)的MRI扫描图像。我需要编写代码来过滤具有特定于用户的“质量”(清晰度/模糊度)的图像。因此,我正在尝试研究医学图像上的图像清晰度/模糊度估计。我的主管告诉我,互联网上有很多现有代码可用于对普通图像(可能是无参考清晰度)进行清晰度/模糊度估计。她让我搜索它们,然后先在普通图像上尝试。然后尝试了解他们的算法。我在互联网上对此进行了搜索,并找到了一些相关的页面。但是,其中许多已过时。

例如:上Image sharpness metric页面,

模糊检测的累积概率(CPBD)https://ivulab.asu.edu/software/quality/cpbd

似乎不再起作用。我猜想原因是从新的“ scipy”库中删除了“ imread”功能。 (请参阅后面的代码和错误消息)我想以后可以尝试使用旧版本的“ scipy”。但是,我想找到更多有关图像清晰度/模糊度估计的当前可用代码/库。另外,我的工作环境将在Windows 10或CentOS-7中。

我已经在CPBD上尝试了以下代码:

import sys, cpbd

from scipy import ndimage

input_image1 = ndimage.imread('D:\Work\Project\scripts\test_images\blur1.png', mode='L')

input_image2 = ndimage.imread('D:\Work\Project\scripts\test_images\clr1.png', mode='L')

print("blurry image sharpness:")
cpbd.compute(input_image1)

print("clear image sharpness:")
cpbd.compute(input_image2)

来自Python 3.7 Shell的错误消息(在Windows 10中运行:]

Traceback (most recent call last):
  File "D:\Work\Project\scripts\try_cpbd.py", line 1, in <module>
    import sys, cpbd
  File "D:\Program_Files_2\Python\lib\site-packages\cpbd\__init__.py", line 3, in <module>
    from .compute import compute
  File "D:\Program_Files_2\Python\lib\site-packages\cpbd\compute.py", line 14, in <module>
    from scipy.misc import imread #Original: from scipy.ndimage import imread
ImportError: cannot import name 'imread' from 'scipy.misc' (D:\Program_Files_2\Python\lib\site-packages\scipy\misc\__init__.py)
python image algorithm metrics
1个回答
0
投票

似乎一段时间以来cpbd软件包尚未更新。它通过以下步骤为我工作:

编辑“ D:\ Program_Files_2 \ Python \ lib \ site-packages \ cpbd \ compute.py”:

注释最后四行以:开头>

#if __name__ == '__main__':

使用python代码:

import cpbd

import cv2

input_image1 = cv2.imread('D:\Work\Project\scripts\test_images\blur1.png')

input_image1 = cv2.cvtColor(input_image1, cv2.COLOR_BGR2GRAY)

print("blurry image sharpness:")

cpbd.compute(input_image1)
© www.soinside.com 2019 - 2024. All rights reserved.