#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. socket学习笔记——并发服务器与I/O程序分割客户端

    client.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <u ...

  2. My Rules of Information

    http://www.infotoday.com/searcher/jan02/block.htm I often suggested to students that information is ...

  3. bzoj1003 [ZJOI2006]物流运输

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6300  Solved: 2597[Submit][Stat ...

  4. 洛谷P2320 鬼谷子的钱袋

    P2320 06湖南 鬼谷子的钱袋 171通过 480提交 题目提供者xmyzwls 标签各省省选 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 题目有误 数据需要特判 评测系统太神了 题目 ...

  5. 如何用ASPxTreeView建立三级树(显示及数据绑定)

    示例如图: //设置treeviw默认为第一个菜单打开if (ASPxTreeView1.SelectedNode == null)ASPxTreeView1.SelectedNode = ASPxT ...

  6. EXE中释放文件

    今天有个朋友问到VC能否释放多个EXE.DLL或WAV等文件,我便做了个实例给他. (注意:以下释放资源代码是不受文件扩展名所限制的,你可以释放更多类型文件) 下面是我写了个很方面的函数给大家用! 1 ...

  7. java学习之(垃圾回收)

    程序无法精确控制java垃圾回收的时机,但依然可以强制系统进行垃圾回收--这种强制只是通知系统进行垃圾回收, 但系统是否进行垃圾回收依然不确定.大部分时候,程序强制系统垃圾回收后总会有一些效果,强制系 ...

  8. Android内存泄漏分析

    周末去上海参加了安卓巴士组织的技术论坛,去了才发现自己基础很渣..... 其中提到了android的内存泄漏的问题,回来马上度娘(虽说度娘很渣),整理如下: 一.单例造成的内存泄漏 因为单例的静态特性 ...

  9. WinForm程序用使用List对象绑定DataGridView数据源

    1. 在用List<T>对象绑定DataGridView数据源属性的时候,数据源的内容不会动态更新,如果List<T>对象集合中的数据发生变化,那么数据控件的数据源是不会得到更 ...

  10. C#多线程案例基础

    C#多线程案例基础(转) 在学习多线程之前,我们先来看几个概念: 1,什么是进程?    当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源,当然一个程序也可能开 ...