首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试用OpenCV实现BRISQUE,但找不到模块

尝试用OpenCV实现BRISQUE,但找不到模块
EN

Stack Overflow用户
提问于 2022-07-07 19:58:52
回答 1查看 569关注 0票数 0

我正在尝试使用OpenCV在我的项目中实现图像质量评估,并希望使用BRISQUE生成一个质量评分。这是带有Anaconda3的Python版本。

从文档中,Python代码应该是:

代码语言:javascript
复制
cv.quality.QualityBRISQUE.compute( img )

但cv之后的“质量”却没有被认可。

我已经安装了opencv-来访问应该包含“质量”的额外模块。此外,我还实现了这些行

代码语言:javascript
复制
import cv2 as cv
img = cv.imread(path)
grey = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
blurScore = cv.Laplacian(grey, cv.CV_64F).var()

因此,我从OpenCV中获得了一些功能。

在实施BRISQUE图像质量评估时,我是否遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2022-07-08 03:08:44

我已经测试过了,而且效果很好。我认为您必须设置到"brisque_models“的路径,如下一个链接:https://github.com/opencv/opencv_contrib/tree/master/modules/quality中所解释的那样

在我的IDE中还可以在Anaconda中找到下面的代码和结果:

代码语言:javascript
复制
import cv2 as cv

img = cv.imread("IMG_0813.JPG")
grey = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
blurScore = cv.Laplacian(grey, cv.CV_64F).var()
score = cv.quality.QualityBRISQUE_compute(img, "brisque_model_live.yml", "brisque_range_live.yml")

print(f' >> Blur Score: {blurScore}')
print(f' >> BRISQUE Score: {score}')

cv.namedWindow("Output", cv.WINDOW_NORMAL)
cv.imshow("Output", img)
k = cv.waitKey(0)

上述代码的输出:

代码语言:javascript
复制
 >> Blur Score: 49.96128887699266
 >> BRISQUE Score: (4.900564193725586, 0.0, 0.0, 0.0)

如果不设置模型(如cv.quality.QualityBRISQUE_compute(img) )的路径,则结果产生如下所示:

代码语言:javascript
复制
Traceback (most recent call last):
  File "quick_tests.py", line 7, in <module>
    score = cv.quality.QualityBRISQUE_compute(img)
cv2.error: OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function 'QualityBRISQUE_compute'
> Overload resolution failed:
>  - QualityBRISQUE_compute() missing required argument 'model_file_path' (pos 2)
>  - QualityBRISQUE_compute() missing required argument 'model_file_path' (pos 2)

我希望你能解决这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72903571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档