#include <highgui/highgui.hpp>
#include <imgproc/imgproc.hpp>
#include <opencv2/imgproc/types_c.h>
#include <fstream>using namespace std;
using namespace cv;//imgFile   图片地址,可更改为图片内存
//nSelectCamFocus  选择对焦的方法,有三种 0 1 2
double FuncImg(char *imgFile,int nSelectCamFocus)
{double dMeanValue = 0;//判断文件是否存在ifstream f(imgFile);if(f.good()){Mat imageSource = imread(imgFile);//判断图片读取是否成功if (!imageSource.empty()){Mat imageGrey;cvtColor(imageSource, imageGrey, CV_RGB2GRAY);//自动对焦方式选择if (0 == nSelectCamFocus){Mat imageSobel;Sobel(imageGrey, imageSobel, CV_16U, 1, 1);//图像的平均灰度double meanValue = 0.0;meanValue = mean(imageSobel)[0];//double to stringstringstream meanValueStream;string meanValueString;meanValueStream << meanValue;meanValueStream >> meanValueString;meanValueString = "Articulation(Sobel Method):" + meanValueString;putText(imageSource, meanValueString, Point(2, 50), FONT_HERSHEY_COMPLEX, 0.8, Scalar(255, 255, 25), 2);imshow("Articulation", imageSource);dMeanValue = meanValue;}else if (1 == nSelectCamFocus){Mat imageSobel;Laplacian(imageGrey, imageSobel, CV_16U);//Sobel(imageGrey, imageSobel, CV_16U, 1, 1);//图像的平均灰度double meanValue = 0.0;meanValue = mean(imageSobel)[0];//double to stringstringstream meanValueStream;string meanValueString;meanValueStream << meanValue;meanValueStream >> meanValueString;meanValueString = "Articulation(Laplacian Method): " + meanValueString;putText(imageSource, meanValueString, Point(20, 50), FONT_HERSHEY_COMPLEX, 0.8, Scalar(255, 255, 25), 2);imshow("Articulation", imageSource);dMeanValue = meanValue;}else{Mat meanValueImage;Mat meanStdValueImage;//求灰度图像的标准差meanStdDev(imageGrey, meanValueImage, meanStdValueImage);double meanValue = 0.0;meanValue = meanStdValueImage.at<double>(0, 0);//double to stringstringstream meanValueStream;string meanValueString;meanValueStream << meanValue * meanValue;meanValueStream >> meanValueString;meanValueString = "Articulation(Variance Method): " + meanValueString;putText(imageSource, meanValueString, Point(20, 50), FONT_HERSHEY_COMPLEX, 0.8, Scalar(255, 255, 25), 2);imshow("Articulation", imageSource);dMeanValue = meanValue * meanValue;}}}return dMeanValue;
}

OpenCV相机自动对焦代码整理相关推荐

  1. 相机自动对焦 OpenCV 图像清晰度评价

    原文:https://blog.csdn.net/dcrmg/article/details/53543341 OpenCV 图像清晰度评价(相机自动对焦) 版权声明:本文为博主原创文章,转载请注明出 ...

  2. OpenCV 图像清晰度评价算法(相机自动对焦)

    相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...

  3. OpenCV 图像清晰度评价(相机自动对焦)

    最近想实现相机自动对焦,也就是需要图像清晰度评价,在网上查找. 第一个不错文章是:无参考图像的清晰度评价方法 http://nkwavelet.blog.163.com/blog/static/227 ...

  4. opencv java图片清晰度_OpenCV 图像清晰度评价(相机自动对焦)

    相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...

  5. OpenCV相机位移引起的单应性的实例(附完整代码)

    OpenCV相机位移引起的单应性的实例 OpenCV相机位移引起的单应性的实例 OpenCV相机位移引起的单应性的实例 #include <iostream> #include <o ...

  6. OpenCV相机校准camera calibration的实例(附完整代码)

    OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 OpenCV相机校准camera calibration的实例 #inc ...

  7. OpenCV相机使用的实例(附完整代码)

    OpenCV相机使用的实例 OpenCV相机使用的实例 OpenCV相机使用的实例 #include "opencv2/videoio.hpp" #include "op ...

  8. opencv相机标定

    python 完整标注流程, python+opencv相机标定 - wenboz - 博客园 相机标定需要输出的参数: 焦距 像素或者物理单位mm 像素对应的物理长度 光心与物理senser中心的偏 ...

  9. OpenCV相机运动估计

    OpenCV相机运动估计 相机运动估计 目标 代码 解释 相机运动估计 目标 在本教程中,您将学习如何使用重建API进行摄像机运动估计: 加载具有跟踪的2d点的文件,并在所有框架上构建容器. 运行li ...

最新文章

  1. python小程序源代码-整理了适合新手的20个Python练手小程序
  2. python3项目-把项目从Python2.x移植到Python3.x的经验总结
  3. CentOS 6.9安装配置nmon
  4. 21种mysql_Mysql中,21个写SQL的好习惯,可以看一下
  5. python asyncio和celery对比_如何将Celery与asyncio结合? - python
  6. thinkphp仿百度文库网站源码
  7. git 应用 merge
  8. 书屋(三):《浪潮之巅》品各大百年公司兴衰历程
  9. 通过jdt解析spring mvc中url-类-方法的对应关系
  10. R语言—简介、安装、包(package)的安装与加载
  11. paypal js调用方法整合方便以后使用
  12. 【面试题】Redis SETEX /SETNX 的用法和区别
  13. 跟我学LabVIEW:什么是全局变量?如何创建及使用全局变量?
  14. 《大数据架构和算法实现之路:电商系统的技术实战》——2.4 案例实践
  15. SyntaxError (语法错误)
  16. 达梦redo log损坏的处理办法
  17. 微软2011年4月最有价值专家(MVP)名单 51CTO十七位用户当选
  18. 一牛网:MTK软件,硬件芯片资料集锦(datasheet,规格书,原理图,参考设计,SDK等)二
  19. Python与OpenCV(一)——基于帧差法的运动目标检测程序分析
  20. 小米公司七位创始人简介

热门文章

  1. petalinux-2021.1在zynq7020的flash上启动linux
  2. [Ubuntu]明明白白安装中文字体
  3. matlab pca可视化,[转]PCA的介绍,实例及绘图
  4. Zabbix和agent端部署、图示Zabbix Web端搭建以及添加设备的4种方法、Zabbix API
  5. 线索二叉树 —C语言王道
  6. python如何切换windows窗口_python – Windows 7:如何把窗口带到前面,无论其他窗口有什么重点?...
  7. C#【文件操作篇】S19文件转bin文件
  8. java并发编程的艺术-学习-1
  9. token学习笔记(JWT、jjwt的使用及案例实现)
  10. 用XPath和xlwings爬取豆瓣读书Top250时遇到的问题及解决办法