图片模糊度判断程序(C++、opencv)
//#include<opencv2\opencv.hpp>
//using namespace cv; #include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include "cv.h" using namespace cv;
using namespace std; double focus(IplImage* image); int main()
{
IplImage*previous1;
IplImage*previous2;
IplImage*previous3;
IplImage*previous4;
previous1 = cvLoadImage("D:/2222/1 (1).jpg", );
previous2 = cvLoadImage("D:/2222/1 (2).jpg", );
previous3 = cvLoadImage("D:/2222/1 (3).jpg", );
previous4 = cvLoadImage("D:/2222/1 (4).jpg", );
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;
}
图片模糊度判断程序(C++、opencv)的更多相关文章
- 批量改变图片的尺寸大小 python opencv
我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的. 以上为原图片. import cv2 import os # 按指定图像大小调整尺寸 def resi ...
- iOS 图片文件格式判断、圆角图片
1.圆角图片 // 设置圆形图片(放到分类中使用) - (UIImage *)cutCircleImage { UIGraphicsBeginImageContextWithOptions(self. ...
- C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)
#region//开机自动运行 private void CB_Auto_CheckedChanged(object sender, EventArgs e) {//CB_ ...
- 图片上传并显示(兼容ie),图片大小判断
图片上传并显示(兼容ie),图片大小判断 HTML <div id="swf" style="margin: 0 auto;text-align: center;& ...
- PHP图片上传程序(完整版)
从PHP100上搜刮来的,功能很强大.几乎考虑到了每个细节,与大家分享!~~~ <meta http-equiv="Content-Type" content="t ...
- C#调用Exe文件的方法及如何判断程序调用的exe已结束
很简单的代码就可以实现C#调用EXE文件,如下: 引入using System.Diagnostics; 调用代码: Process.Start(exe文件名); 或直接 System.Diagnos ...
- C#判断程序是否以管理员身份运行,否则以管理员身份重新打开
/// <summary> /// 判断程序是否是以管理员身份运行. /// </summary> public static bool IsRunAsAdmin() { Wi ...
- c语言_常见图片格式判断
c语言_常见图片格式判断 我想尽各种思路.今天,终于把图片判断搞定了. 在此,我写一下我的思路.希望对那些不想看代码的朋友们有帮助. 常风的的图片格式有:bmp,png,jpg,gif等图片格式. 我 ...
- 判断程序是否在VMWare内运行
现在有许多用户都喜欢用虚拟机来测试他们的软件,以避免对真实机器环境造成损害.但是在虚拟机中,有些功能是受限,甚至不可能完成的,因此,需要在程序中判断虚拟机的环境,如果程序在虚拟机内运行,则就要把虚拟机 ...
随机推荐
- C# 中DataGridView 绑定List<T>做数据源的操作问题
若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋 ...
- A script job for rebuild DB in AX 2012
-- Ensure a USE <databasename> statement has been executed first. SET NOCOUNT ON; DECLARE @obj ...
- 理解python先编译后解释的特点
1. CPython默认的标准解释器编译器.JPython支持Java集成,可以生成Java字节码并在JVM中解释执行.IronPython支持.NET集成. 2. 下次运行程序时,python自动检 ...
- play framework 框架安装及myeclipse 导入项目
下载 play framework 框架. 解压你你要解压的目录 E:\play-1.2.7 相对其他的WEB框架.play的配置是相当简单的.没有那么多配置文件的搞法.上手比较快,就是相关的资料比较 ...
- C# 请求外部服务的办法
) { returnMenuBeizhu = ; ).ToString() borrowT ...
- Linux命令之type
1:linux命令可以分为很多类,其中常见得类型: (1):builtin --内置命令 (2):alias --命令别名 (3):file --外部命令 具体有哪些内置命令以及内置命令各个用法: [ ...
- PayPal 开发详解(二):开启【自动返回】和【数据传输】
1.使用我们的商家测试帐号登录 sandbox :http://www.sandbox.paypal.com Business帐号登录 2.登录以后点击:[我的paypal]->[用户信息]-& ...
- php实现文件上传的源码
php实现文件上传的源码,更多php技术开发就去php教程网,http://php.662p.com <?php ##author :Androidyue ##sina @androidyue ...
- DPDK中断机制简析
DPDK通过在线程中使用epoll模型,监听UIO设备的事件,来模拟操作系统的中断处理. 一.中断初始化 在rte_eal_intr_init()函数中初始化中断.具体如下: 1.首先初始化intr_ ...
- Permission Lists Assigned to a User
SQL that I find useful in many occasions. It will return a list of permissions that are assigned to ...