我想找到一些现有的代码/库,用于正常图像的清晰度/模糊度估计。(更喜欢Python)稍后我需要比较不同算法的性能。
我有不同的“质量”(锐度/模糊度)的10000+ MRI扫描图像。我需要编写代码来过滤具有特定“质量”(锐度/模糊度)的图像,这取决于用户。因此,我试图对医学图像的图像清晰度/模糊度估计进行研究。我的主管告诉我,在互联网上,对于正常图像(可能是没有参考清晰度的度量),有很多现有的清晰度/模糊度估计代码。她让我先搜索一下它们,然后在普通图像上试用它们。然后试着学习他们的算法。我在网上搜索了一下,发现了一些相关的网页。然而,其中许多已经过时了。
例如:在Image sharpness metric页面上,
模糊检测https://ivulab.asu.edu/software/quality/cpbd累积概率
似乎不再起作用了。我想原因是"imread“函数从新的”new“库中删除了。(请参阅稍后的代码和错误消息)我想我可以稍后尝试旧版本的“can”。但是,我想找到一些关于图像清晰度/模糊度估计的当前可用代码/库。此外,我的工作环境将在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)
Python3.7shell中的错误消息(在窗口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)
发布于 2019-10-19 22:05:22
似乎cpbd包从一段时间以来还没有更新。它对我起作用的步骤如下:
编辑"D:\Program_Files_2\Python\lib\site-packages\cpbd\compute.py":
对最后4行进行注释,开头为:
#if __name__ == '__main__':
使用python代码:
import cpbd
import cv2
input_image1 = cv2.imread('blur1.png')
if input_image1 is None:
print("error opening image")
exit()
input_image1 = cv2.cvtColor(input_image1, cv2.COLOR_BGR2GRAY)
print("blurry image sharpness:")
cpbd.compute(input_image1)
发布于 2020-06-28 22:05:52
由于scipy.misc.imread从1.0.0开始就不再被推荐,而在1.2.0中被删除,所以我会使用skimage.io.imread (在大多数情况下这是一种插入替代)。
编辑cpbd/compute.py中的代码
import skimage.io
input_image1 = skimage.io.imread('blur1.png')
cv2也能工作(或者其他选项: imageio,PIL,.)但是skimage更容易安装/使用。
发布于 2020-07-10 06:53:43
下面的步骤适用于我:从C:\ProgramData\Anaconda3\Lib\site-packages\cpbd\compute.py
打开C:\ProgramData\Anaconda3\Lib\site-packages\cpbd\compute.py
或在安装了它的任何地方打开它。您将发现以下代码:
from scipy.ndimage import imread
代之以:
from skimage.io import imread
如果无法保存compute.py
文件,那么将其复制到桌面上,以上述方式编辑它,并用它替换C:\ProgramData\Anaconda3\Lib\site-packages\cpbd\compute.py
中的文件。
https://stackoverflow.com/questions/58467372
复制相似问题