#include"cv.h" 
#include"highgui.h" 
#include<iostream> 
using namespace std;  
double focus(IplImage* image);  
int main() { 
 IplImage* previous1;  
IplImage* previous2;  
IplImage* previous3;  
IplImage* previous4;  
 previous1=cvLoadImage("e://temporary/test01.bmp",); 
 previous2=cvLoadImage("e://temporary/test02.bmp",); 
 previous3=cvLoadImage("e://temporary/test03.bmp",); 
 previous4=cvLoadImage("e://temporary/test04.bmp",);  
 if(previous1!=&&previous2!=&&previous3!=&&previous4!=) 
 { 
  cvNamedWindow("previous1",); 
  cvShowImage("previous1",previous1);   cvNamedWindow("previous2",); 
  cvShowImage("previous2",previous2);   cvNamedWindow("previous3",); 
  cvShowImage("previous3",previous3);   cvNamedWindow("previous4",); 
  cvShowImage("previous4",previous4);  
  cout<<"The definition of the previous1 is: "<<focus(previous1)<<endl; 
  cout<<"The definition of the previous2 is: "<<focus(previous2)<<endl; 
  cout<<"The definition of the previous3 is: "<<focus(previous3)<<endl; 
  cout<<"The definition of the previous4 is: "<<focus(previous4)<<endl; 
  //关掉窗口,结束   cvWaitKey(0);  
  cvDestroyWindow("previous1");  
 cvReleaseImage(&previous1); 
  cvDestroyWindow("previous2"); 
  cvReleaseImage(&previous2);  
 cvDestroyWindow("previous3");   
cvReleaseImage(&previous3);  
 cvDestroyWindow("previous4");   
cvReleaseImage(&previous4);   return ;  } 
 return -; 
}  
double focus(IplImage* image) { 
 IplImage* picone=cvCreateImage(cvGetSize(image),,);  
 cvCvtColor(image,picone,CV_BGR2YCrCb);  
 CvScalar gety; 
 double z=,zy1=,zy2=,total=;  double gety1=,gety2=;  double final=;  
 for(int ix=;ix<(picone->height);ix++) 
  { 
   gety1=;   
 gety2=;   
 zy1=;   
 zy2=;  
   for(int jy=;jy<(picone->width);jy++) 
   { 
    gety=cvGet2D(picone,ix,jy); 
    z=0.5*gety.val[]-gety1+0.5*gety2+zy1-0.5*zy2;   
  total=total+z;     
gety2=gety1; 
    gety1=gety.val[];     zy2=zy1;     zy1=z;  
  }  

 cvReleaseImage(&picone); 
 final=abs(total/((image->height)*(image->width)));  
 return final; 
}

基于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. matlab读取txt文档中的数据

    ps:文件中只有数字! format long fp=fopen('文件路径','打开方式(r)') [num,count]=fscnaf(fp,'%f')

  2. Js获取当前日期时间及其它操作(转)

    var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1 ...

  3. PAT1007

    #include<stdio.h>#include<vector>#include<algorithm>using namespace std; int main( ...

  4. infusion度量金字塔数据解释

    inFusion能够探测超过20中代码味道和代码缺陷,包括重复代码,破坏封装的类(如数据类或者万能类),高耦合的方法和类,以及一些设计不合理的类继承结构.当我们使用inFusion工具分析代码时,在分 ...

  5. sessionStorage html5客户端本地存储之sessionStorage及storage事件

    可以看一下<JavaScript本地存储实践(html5的localStorage和ie的userData)>sessionStorage和上文中提到的localStorage非常相识,方 ...

  6. iOS 开发经验谈,点击没响应事件

  7. MySQL查询昨天、今天、7天、近30天、本月、上一月数据

    文章同步发表在博主网站朗度云,传输门:http://www.wolfbe.com/detail/201608/291.html   在开发或者统计时,我们可能需要统计某个表的数据.比如:查看今天新增的 ...

  8. 比较合并工具vimdiff的主要用法归纳

    参考:https://www.ibm.com/developerworks/cn/linux/l-vimdiff/ vimdiff主要用法归纳如下:   1.打开文件 vimdiff file1 fi ...

  9. pap与chap协议

    1.pap:直接在网络上发送密码明文 2.chap: 网络上发送的是密码的密文;server给client发一段随机数(challenge),client利用随机数对密码进行加密,将用户名和加密后的密 ...

  10. 关于javascript 里面类型的判断

    javacript至今共有7中类型 Six data types that are primitives: Boolean Null Undefined Number String Symbol (n ...