如何解决使用opencv识别png格式图像的质量
我需要根据质量分离图像。使用OpenCV获得图像质量的最佳方法是什么? 我知道image.shape给出了图像的高度和宽度,但是在某些情况下,对于低质量的图像,我们可以更改高度和宽度。 因此,高度和宽度无法提供我所认为的图像质量。
解决方法
图像中的一个有用的品质是图像清晰而不模糊。一种简单的确定方法是测量梯度量。梯度中的大量能量意味着边缘锐利,低能量意味着边缘模糊。
我在对此https://stackoverflow.com/questions/6646371/detect-which-image-is-sharper#:~:text=The%20simple%20method%20is%20to,produces%20the%20larger%20number%20wins的答案之一中对此进行了解释。问题。
使用python opencv会是这样:
import cv2 as cv
import numpy as np
img = cv.imread('dave.jpg',0)
laplacian = cv.Laplacian(img,cv.CV_64F)
gnorm = np.sqrt(laplacian**2)
sharpness = np.average(gnorm)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。