场景描述:
  当我们对相机进行聚焦调试时,需要对聚焦的效果有一个量化的值作为评判依据,辅助我们更好的完成聚焦工作。

功能描述:
  在相机视野的指定位置,显示当前画面的清晰度值。

功能实现:
  目前网上场景的清晰度计算方式有一下几种:

  1. 拉普拉斯Laplacian,利用拉普拉斯计算图片的二阶导数,反映图片的边缘信息,同样事物的图片,清晰度高的,相对应的经过拉普拉斯算子滤波后的图片的方差也就越大。
def get_picture_sharpness(image_path):image = cv2.imread(image_path)image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)image_var = str(int(cv2.Laplacian(image_gray, cv2.CV_64F).var()))# image_var = str(int(cv2.Laplacian(image_gray, cv2.CV_16U).var()))font_face = cv2.FONT_HERSHEY_COMPLEXfont_scale = 1thickness = 1baseline = 0var_size = cv2.getTextSize(image_var, font_face, font_scale, thickness)# 清晰度值的绘制位置draw_start_point = (20, var_size[0][1] + 10)cv2.putText(image, image_var, draw_start_point, font_face, font_scale, (0,0,255), thickness)cv2.imshow('frame', image)cv2.waitKey(0)return image_var
  1. Tenengrad梯度方法利用Sobel算子分别计算水平和垂直方向的梯度,同一场景下梯度值越高,图像越清晰。
def get_picture_sharpness(image_path):image = cv2.imread(image_path)image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)image_sobel = cv2.Sobel(image_gray, cv2.CV_16U, 1, 1)image_var = f'{mean(image_sobel):.2f}'font_face = cv2.FONT_HERSHEY_COMPLEXfont_scale = 1thickness = 1baseline = 0var_size = cv2.getTextSize(image_var, font_face, font_scale, thickness)# 清晰度值的绘制位置draw_start_point = (20, var_size[0][1] + 10)cv2.putText(image, image_var, draw_start_point, font_face, font_scale, (0,0,255), thickness)cv2.imshow('frame', image)cv2.waitKey(0)return image_var

python opencv 获取图片清晰度相关推荐

  1. python opencv获取图片分辨率_python-opencv遍历图片像素,并对像素进行操作

    看代码: def access_pixels(frame): print(frame.shape) #shape内包含三个元素:按顺序为高.宽.通道数 height = frame.shape[0] ...

  2. python连通域标记_使用OpenCV获取图片连通域数量,并用不同颜色标记函

    一,原图和效果图 二,代码 //#########################产生随机颜色######################### cv::Scalar icvprGetRandomCo ...

  3. 如何在Python中获取图片分辨率?——Python实现获取图片分辨率的代码及详解。

    如何在Python中获取图片分辨率?--Python实现获取图片分辨率的代码及详解. 在进行图片处理或者图片分析的时候,获取图片的分辨率信息是必不可少的.Python提供了许多库可以方便地获取图片的分 ...

  4. python +opencv 根据图片定位进行UI自动化

    python +opencv 根据图片定位进行UI自动化 前言: 做过移动端ui自动化的小伙伴,就会发现很多控件的元素是一样的或者是找不到的,为了解决这个痛点,于是通过图片灰度处理返回坐标x,y找到控 ...

  5. python opencv调节图片亮度与对比度

    python opencv调节图片亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和 ...

  6. python opencv 得到图片路径image_path的宽wide、高heigh和深度deep

    python opencv 得到图片路径image_path的宽wide.高heigh和深度deep 图片路径是:'1.jpg' 下面是具体代码: import cv2 #得到图片路径image_pa ...

  7. python+opencv获取最小外接矩形

    python+opencv获取最小外接矩形 环境 代码 效果 环境 python版本:3.8 opencv版本:4.3.0.36 代码 from PIL import Image from pylab ...

  8. 2021-01-07 python opencv调节图片亮度与对比度

    python opencv调节图片亮度与对比度 度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和亮 ...

  9. Python OpenCV去除图片水印

    问题描述 去除百度水印 1.jpg,背景简单 2.jpg,背景复杂 解决方案 安装 pip install opencv-python pip install numpy 方法一.OpenCV提取颜色 ...

  10. win10 打开 Intel Realsense R200获取深度和彩色视频流 ,并测试python opencv 获取

    一:win10打开 Intel Realsense  R200 1.python 需3.6或以上,我的是3.7 2.去官网下载https://github.com/IntelRealSense/lib ...

最新文章

  1. java基础 多维数组_java基础:3.2 多维数组
  2. 做了这么多年的研发,其实你一点也不懂购物车的设计思路!
  3. ubuntu14.04上java jdk mvn安装
  4. TF之AE:AE实现TF自带数据集AE的encoder之后decoder之前的非监督学习分类
  5. photoshop cs3反应慢的原因
  6. LeetCode 1055. 形成字符串的最短路径(贪心)
  7. Linux APT VIM 的一些指令
  8. 『ExtJS』表单(一)常用表单控件及内置验证
  9. 在三个层次对Asp.Net的数据操作进行事务
  10. struts2 convention插件
  11. 个人简历自我介绍求职面试PPT模板
  12. 读《春秋》有感之十二:偪阳之战
  13. VMware14.0无os x选项问题解决
  14. ElasticSearch——手写一个ElasticSearch分词器(附源码)
  15. Zend Studio的常用配置和使用方法
  16. SpringBoot 整合 发送互亿无线短信验证码
  17. 痞子衡嵌入式:ARM Cortex-M内核那些事(9.1)- 存储保护(MPU - PMSAv6/7)
  18. 内蒙古大学计算机考研复试分数线,内蒙古大学2013-2014考研复试分数线.docx
  19. Web前端工程师需要掌握的技能有哪些?
  20. 现在学java的都是傻子

热门文章

  1. Windows下如何强制删除文件夹及文件的命令
  2. 解决springboot上传文件报错:The field XXX exceeds its maximum permitted size of 1048576 bytes
  3. 【每日一P】利用通道抠图更换天空
  4. 已知基因名,如何在genbank中查询基因序列?
  5. 基于IDS模型设计的ICS
  6. 计算机系统类型怎么改变,更改文件类型_win7电脑系统文件类型怎么更改?
  7. 插值(五)Bicubic interpolation(双三次插值)
  8. 双下划线一粗一细怎么加_word 下划线 一粗一细
  9. 二项分布期望和方差的公式推导
  10. macos复制粘贴快捷键 快速_mac os系统复制粘贴ctrl+c ctrl+v快捷键实现方式