1. #include"cv.h" 
  2. #include"highgui.h" 
  3. #include<iostream> 
  4. using namespace std;  
  5. double focus(IplImage* image);  
  6. int main() { 
  7.  IplImage* previous1;  
  8. IplImage* previous2;  
  9. IplImage* previous3;  
  10. IplImage* previous4;  
  11.  previous1=cvLoadImage("e://temporary/test01.bmp",); 
  12.  previous2=cvLoadImage("e://temporary/test02.bmp",); 
  13.  previous3=cvLoadImage("e://temporary/test03.bmp",); 
  14.  previous4=cvLoadImage("e://temporary/test04.bmp",);  
  15.  if(previous1!=&&previous2!=&&previous3!=&&previous4!=) 
  16.  { 
  17.   cvNamedWindow("previous1",); 
  18.   cvShowImage("previous1",previous1);   cvNamedWindow("previous2",); 
  19.   cvShowImage("previous2",previous2);   cvNamedWindow("previous3",); 
  20.   cvShowImage("previous3",previous3);   cvNamedWindow("previous4",); 
  21.   cvShowImage("previous4",previous4);  
  22.   cout<<"The definition of the previous1 is: "<<focus(previous1)<<endl; 
  23.   cout<<"The definition of the previous2 is: "<<focus(previous2)<<endl; 
  24.   cout<<"The definition of the previous3 is: "<<focus(previous3)<<endl; 
  25.   cout<<"The definition of the previous4 is: "<<focus(previous4)<<endl; 
  26.   //关掉窗口,结束   cvWaitKey(0);  
  27.   cvDestroyWindow("previous1");  
  28.  cvReleaseImage(&previous1); 
  29.   cvDestroyWindow("previous2"); 
  30.   cvReleaseImage(&previous2);  
  31.  cvDestroyWindow("previous3");   
  32. cvReleaseImage(&previous3);  
  33.  cvDestroyWindow("previous4");   
  34. cvReleaseImage(&previous4);   return ;  } 
  35.  return -; 
  36. }  
  37. double focus(IplImage* image) { 
  38.  IplImage* picone=cvCreateImage(cvGetSize(image),,);  
  39.  cvCvtColor(image,picone,CV_BGR2YCrCb);  
  40.  CvScalar gety; 
  41.  double z=,zy1=,zy2=,total=;  double gety1=,gety2=;  double final=;  
  42.  for(int ix=;ix<(picone->height);ix++) 
  43.   { 
  44.    gety1=;   
  45.  gety2=;   
  46.  zy1=;   
  47.  zy2=;  
  48.    for(int jy=;jy<(picone->width);jy++) 
  49.    { 
  50.     gety=cvGet2D(picone,ix,jy); 
  51.     z=0.5*gety.val[]-gety1+0.5*gety2+zy1-0.5*zy2;   
  52.   total=total+z;     
  53. gety2=gety1; 
  54.     gety1=gety.val[];     zy2=zy1;     zy1=z;  
  55.   }  
  56. } 
  57.  cvReleaseImage(&picone); 
  58.  final=abs(total/((image->height)*(image->width)));  
  59.  return final; 
  60. }

基于opencv 的图片模糊判断代码的更多相关文章

  1. OpenCV2学习笔记(十四):基于OpenCV卡通图片处理

    得知OpenCV有一段时间.除了研究的各种算法的内容.除了从备用,据导游书籍和资料,尝试结合链接的图像处理算法和日常生活,第一桌面上(随着摄像头)完成了一系列的视频流处理功能.开发平台Qt5.3.2+ ...

  2. 基于OpenCV实现对图片及视频中感兴趣区域颜色识别

    基于OpenCV实现图片及视频中选定区域颜色识别 近期,需要实现检测摄像头中指定坐标区域内的主体颜色,通过查阅大量相关的内容,最终实现代码及效果如下,具体的实现步骤在代码中都详细注释,代码还可以进一步 ...

  3. Asp.net 基于Cookie简易的权限判断

    基于Cookie简易的权限判断代码,需要的朋友可以参考下. 写入Cookie页面,创建cookie后,设置cookie属性,并添加到Response.Cookies中读取cookie,利用cookie ...

  4. 边缘检测︱基于 HED网络TensorFlow 和 OpenCV 实现图片边缘检测

    本文摘录自<手机端运行卷积神经网络的一次实践 – 基于 TensorFlow 和 OpenCV 实现文档检测功能> 只截取感兴趣 的片段. . 一.边缘检测 1.传统边缘检测 Google ...

  5. 基于OpenCv和swing的图片/视频展示Java实现

    基于OpenCv和swing实现图片/视频的展示 图片的展示 swing展示图片,多为操作BufferedImage,这里要关注的核心是将Mat转为BufferedImage. 代码如下: publi ...

  6. Java基于OpenCV实现走迷宫(图片+路线展示)

    Java基于OpenCV实现走迷宫(图片+路线展示) 由于疫情,待在家中,太过无聊.同学发了我张迷宫图片,让我走迷宫来缓解暴躁,于是乎就码了一个程序出来.特此记录. 原图: 这张图,由于不是非常清晰, ...

  7. 基于opencv图片切割

    基于opencv图片切割为n个3*3区块 工作原因,切割图片,任务急,暂留调通的源码,留以后用. package com.rosetta.image.test; import org.opencv.c ...

  8. 基于jQuery可悬停控制图片轮播代码

    基于jQuery可悬停控制图片轮播代码.这是一款可悬停切换全屏轮播jQuery幻灯片.效果图如下: 在线预览   源码下载 实现的代码: <!-- 轮播广告 --> <div id= ...

  9. 基于jQuery弹出层图片动画查看代码

    分享一款基于jQuery弹出层图片动画查看代码是一款鼠标单击文字或图片内容放大显示且含圆角投影效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&q ...

随机推荐

  1. 谷歌浏览器提示Adobe Flash Player因过期而遭到阻止

    解决方法: 1.下载最新版本chrome://plugins/ 到官网Adobe Flash Player 下载最新版本,目前20 https://get.adobe.com/cn/flashplay ...

  2. 学习总结 java 创建及其练习

    创建: 打开eclipse—文件—新建—java项目—项目名称命名—点击texe-1练习下拉箭头—右击src—新建—类—设置类名称(名称设置时不要添加空格),在“想要创建哪些方法跟”下面点击:publ ...

  3. 在Win7下要通过某个 线程 来调用SavaDialog文件选择框的问题

    如果 在Win7下要通过某个 线程 来调用SavaDialog文件选择框的代码  选择窗口 有时会出不来 需要设置如下:    ThreadthreadOfRec = new Thread(Reciv ...

  4. win7下无法安装QTP-少了Microsoft Visual c++2005 sp1运行时组件

    问题是:当我点击QTP的setup.exe进行QTP安装时,出现提示[少了Microsoft Visual c++2005 sp1运行时组件,安装时会提示命令行选项语法错误,键入“命令/?”可获取帮肋 ...

  5. 前端神器 Firebug 2.0 新特性一览

    如果你从事Web前端方面的开发工作,那么对Firebug一定不会陌生,这是Firefox浏览器的一款插件,集HTML查看和编辑.Javascript控制台.网络状况监视器于一体,给Web开发者带来了极 ...

  6. MS SqlSever一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】[转]

    对普通开发人员来说经常能接触到上千万条数据优化的机会也不是很多,这里还是要感谢公司提供了这样的一个环境,而且公司让我来做优化工作.当数据库中的记录不超过10万条时,很难分辨出开发人员的水平有多高,当数 ...

  7. hadoop-集群管理(2)——内存设置

    http://www.cnblogs.com/yuechaotian/archive/2013/03/08/2949607.html 1. 内存 hadoop为各个守护进程(namenode,seco ...

  8. Windows Phone 8 通过一个app启动另一个app

    Winphone8 通过app启动第三方app需要被启动的app支持,具体操作步骤如下: 假设要通过PhoneApp2启动PhoneApp1 PhoneApp1端做的操作如下: 1.注册Protoco ...

  9. java生成4个不同的随机数

    package lianxi; import java.util.Random; public class suijishu { public static void main(String[] ar ...

  10. 深入了解Javascript模块化编程

    本文译自Ben Cherry的<JavaScript Module Pattern: In-Depth>.虽然个人不太认同js中私有变量存在的必要性,但是本文非常全面地介绍了Javascr ...