运用OpenMP提速图像处理速度
// openmptest的测试程序
#include "stdafx.h"
void Test(int n){
for (int i=0;i<10000;i++)
{
int j=0;
j = j+1;
}
printf("%d",n);
}
int _tmain(int argc, _TCHAR* argv[])
{
for (int i=0;i<10;i++)
{
Test(i);
}
getchar();
return 0;
}


// openmptest的测试程序
#include "stdafx.h"
void Test(int n){
for (int i=0;i<10000;i++)
{
int j=0;
j = j+1;
}
printf("%d",n);
}
int _tmain(int argc, _TCHAR* argv[])
{
for (int i=0;i<10;i++)
{
Test(i);
}
getchar();
return 0;
}

// openmptest的测试程序
#include "stdafx.h"
#include <iostream>
#include <opencv2/opencv.hpp>
#include "GoCvHelper.h"
using namespace std;
using namespace cv;
using namespace GO;
Mat Test(Mat src){
Mat draw;
Mat gray;
cvtColor(src,gray,COLOR_BGR2GRAY);
threshold(gray,gray,100,255,THRESH_OTSU);
connection2(gray,draw);
return draw;
}
int _tmain(int argc, _TCHAR* argv[])
{
//时间记录
const int64 start = getTickCount();
vector<Mat> vectorMats;
//文件目录
char cbuf[100] = "F:/图片资源/纹理库brodatz/brodatzjpg";
//获取所有文件
getFiles(cbuf,vectorMats);
//循环处理
// #pragma omp parallel for
for (int i=0;i<vectorMats.size();i++)
{
Mat dst = Test(vectorMats[i]);
}
//时间
double duration = (cv::getTickCount() - start)/getTickFrequency();
printf("共消耗时间%f",duration);
waitKey();
return 0;
}


#pragma omp parallel sections
{
#pragma omp section
{
GetHessianLambdas(camframe,5,lambda1_Sigma5,lambda2_Sigma5);
}
#pragma omp section
{
GetHessianLambdas(camframe,7,lambda1_Sigma7,lambda2_Sigma7);
}
}
QMAKE_CXXFLAGS += -fopenmp
LIBS += -fopenmp
附件列表
运用OpenMP提速图像处理速度的更多相关文章
- 获取TBitMap图像缓冲区,提高图像处理速度
使用Dephi进行图像处理可以有多种方法,最常用的应该算是TBitmap,它提供方便的图像存取能力,结合Canvas可进行画线.画圆.图像拷贝等操作.不过在进行大量的图像处理操作时,为了获得更高的速度 ...
- 用ImageJ快速分析和处理图像
ImageJ是一款由美国国立卫生研究院(NIH)开发的软件,原名NIH Image,适用于McIntosh.Windows和Linux等系统.ImageJ旨在对图像进行更好的分析和处理,可以下载或在线 ...
- 开源的图像滤镜库----for Android
1.GPUImage for Android(推荐使用) GPUImage基于OpenGL实现的各种各样图像滤镜(图像处理)效果,多达50多种, idea源于GPUImage for iOS,基本囊括 ...
- 直接拿来用!最火的iOS开源项目
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- Android 画布绘图
我们已经介绍了Canvas,在那里,已经学习了如何创建自己的View.在第7章中也使用了Canvas来为MapView标注覆盖. 画布(Canvas)是图形编程中一个很普通的概念,通常由三个基本的绘图 ...
- 转_IOS开源
http://www.csdn.net/article/2013-06-05/2815530-GitHub-iOS-open-source-projects-one 苹果App Store本身所具有的 ...
- (转)直接拿来用!最火的iOS开源项目(一)
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- 10大iOS开发者最喜爱的类库
该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾.每个团队都要根据以下规则选出五个最好的库:1)不能投 ...
- 【转】GitHub平台最火的iOS开源项目——2013-08-25 17
http://www.cnblogs.com/lhming/category/391396.html 今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目,你准备好了吗? 1. AF ...
随机推荐
- C#基础知识 结构与类的区别
网上看到struct与class之间的区别,都写的很多,当然说的是对的,也很详细.不过我个人不喜欢照本宣科,还是要有自己的理解和认识,方便记忆. (前提:对于值类型与引用类型有一定的认识) 结构最重要 ...
- gunicorn syncworker 源码解析
gunicorn支持不同的worker类型,同步或者异步,异步的话包括基于gevent.基于eventlet.基于Aiohttp(python版本需要大于3.3),也有多线程的版本.下面是gunico ...
- Caused by: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2
异常信息 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with na ...
- C#中的GET和SET访问器
我们在学习C#语法的属性时,都要首先和GET,SET访问器打交道,从英文的字面意思上理解,GET应该就是获得什么什么,而SET应该是设置什么什么,那我们看一下,官方是怎么定义这对访问器的:get是读取 ...
- Scala 安装 Exception in thread "main" java.lang.VerifyError: Uninitialized object exists on backward branch 96
windows下载安装完最新版本的Scala(2.12.4)后,终端如下错误 C:\Users\Administrator>scala -versionException in thread & ...
- Confluence5.4.4迁移至6.3.1
1.数据备份 服务器查看: 2.安装破解文件及安装包至服务器 3.停止旧版本并启动安装 4.访问8090端口开始安装 5.获取授权码,需要能访问国外网站,并且有atlassian账号 6.将数据库连接 ...
- Oracle 启动参数
查看数据库的SID DB_NAME SERVICE_NAME
- 高级开发层面,针对Hibernate方面面试题的总结(对其它ORM也适用)
虽然目前mytabis用得比较多,但Hibernate相对比较容易上手,而且也有不少公司在用,所以本文就用这个举例,事实上,本文给出的面试建议也适用于各种ORM.本文摘自java web轻量级开发面试 ...
- css3特效样式库
直接调用样式类即可: /* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-an ...
- 【算法设计与分析基础】24、kruskal算法详解
首先我们获取这个图 根据这个图我们可以得到对应的二维矩阵图数据 根据kruskal算法的思想,首先提取所有的边,然后把所有的边进行排序 思路就是把这些边按照从小到大的顺序组装,至于如何组装 这里用到并 ...