• 失焦的图片和对焦准确的图片最大的区别就是正常图片轮廓明显,而失焦图片几乎没有较大像素值之间的变化
  • 对图像的横向,以及纵向,分别做差分,累计差分可以用来作为判断是否失焦的参考
  • 两个函数,一个简单粗暴直接根据差分值判断是否失焦,适合确定样本类型的情况,另外一种,需要进一步判断
//简单设定阈值判断是否失焦
bool focusDetect(Mat& img){clock_t start, end;start = clock();int diff = 0;int diff_thre = 20;int diff_sum_thre = 1000;for (int i = img.rows / 10; i < img.rows; i += img.rows / 10){uchar* ptrow = img.ptr<uchar>(i);for (int j = 0; j < img.cols - 1; j++){if (abs(ptrow[j + 1] - ptrow[j])>diff_thre)diff += abs(ptrow[j + 1] - ptrow[j]);}cout << diff << endl;}end = clock();cout << "time=" << end - start << endl;bool res = true;if (diff < diff_sum_thre) {cout << "the focus might be wrong!" << endl;res = false;}return res;
}//返回一个与焦距是否对焦成功的一个比例因子
double focus_measure_GRAT(Mat Image)
{double threshold = 0;double temp = 0;double totalsum = 0;int totalnum = 0;for (int i=0; i<Image.rows; i++){uchar* Image_ptr = Image.ptr<uchar>(i);uchar* Image_ptr_1 = Image.ptr<uchar>(i+1);for (int j=0; j<Image.cols; j++){temp = max(abs(Image_ptr_1[j]-Image_ptr[j]), abs(Image_ptr[j+1]-Image_ptr[j]));totalsum += temp;totalnum += 1;}}double FM = totalsum/totalnum;return FM;
}

opencv中图像失焦检测相关推荐

  1. OpenCV中图像轮廓检测

    OpenCV中图像轮廓检测 通过之前的Canny方法可以得到图像的边界,但是我们无法得到边界的数学信息.所以就有了今天的图像轮廓检测. 在OpenCV中图像轮廓检测的API: findContours ...

  2. OpenCV中图像特征提取与描述

    目录 图像特征提取与描述 图像的特征 Harris和Shi-Tomas算法 Harris角点检测 Shi-Tomasi角点检测 小结 SIFT/SURF算法 SIFT原理 基本流程 尺度空间极值检测 ...

  3. OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...

    OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式 以最简单的4 x 5三通道图像为例,其在内存中Mat类型的数据组织形式如下: 每一行的每一列 ...

  4. OpenCV中图像的BGR格式 Img对象的属性说明

    1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式.是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对 ...

  5. OPENCV中图像数据结构及其转化

    OPENCV中图像数据结构及其转化 1. IplImage 它是openCV库中表示图像的结构体. 初始化: cvLoadImage(),cvCreateImage() 访问元素:[行指针] b = ...

  6. opencv中的侧脸检测

    opencv中的侧脸检测 opencv中的haarcascade_profileface.xml检测时只能检测右侧脸 Opencv 2.4.3以后添加了侧脸检测,要想检测侧脸只需将加载的文件改为haa ...

  7. python+opencv 实现图像人脸检测及视频中的人脸检测

    执着于理想,纯粹于当下. 文章目录 一.数据和知识准备 1. 下载HAAR与LBP数据 2. opencv相关知识 二.python+opencv实现人脸检测 1. 图像单人脸检测 2. 图像多人脸检 ...

  8. OpenCV中图像修复技术介绍与演示

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 现实中图像经常出现划伤或者被噪声腐蚀或 ...

  9. OpenCV中图像形态学操作

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 图像形态学是图像处理的分支学科,在二值图像处理 ...

最新文章

  1. 卷积神经网络学习笔记与心得(4)池化
  2. MATLAB中常用的排列、组合、阶乘函数
  3. python两种生成md5的方法
  4. Android7.1 Presentation双屏异显原理分析
  5. getwayworker timer_Java定时器之Timer学习二
  6. windows10安装Visual Studio 2017
  7. oracle 批量更新_用集算器更新数据库的技巧
  8. 在吗?我要讲件大事了,你绝对不知道CSDN公众号还有这个功能!错过后悔!
  9. Matlab 2016a安装和破解教程
  10. mysql odbc 卸载_Linux卸载MySQL
  11. matlab中使用xlsread导入excel数据
  12. 【方法】 PDF OCR识别
  13. Activiti工作流会签设计
  14. php1106打印机怎么使用,1106打印机驱动使用说明
  15. js splice的三个用法
  16. 奔腾的芯——英特尔公司
  17. 一年当中几月份买车最合适?什么时候最便宜?
  18. 论文投稿指南——中文核心期刊推荐(科学、科学研究)
  19. python替换文本
  20. Fiddler的安装及配置2-2

热门文章

  1. 拷贝相关器 matlab,基于MELP的水下实时语音通信机的研究与实现
  2. 一元三次方程求解(枚举)
  3. (19年最新,操作极简)linux下使用xmind zen破解版
  4. Thingworx自定义扩展开发(二)- Widget Demo Coding
  5. 关于感冒和流感的一些记录
  6. 大数据分析师·人才培养·高薪起航
  7. 计算机中电容状态表示什么,电脑主板电容坏了的表现有哪些?
  8. MES系统是什么?对企业来说有何好处?
  9. 微商相册服务器维护,微商相册
  10. kivy部署移动端预测模型网页计算器记录