// 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;
}
而开启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;
}
速度更快。
在最简单的层次上,openmp提供了粗颗粒的并行算法。一直以来,我都在寻找图像处理的加速算法,但是由于图像处理的特性(大多为线性项目),所以很难有好的提速方法。但是对于批量的图像处理,采用我们这种方法将是非常好用的。
编写较为复杂的opencv 程序
// 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;
}
不用mp的是这么长时间
不看算法本身的效率,在解决这个问题的时候,这种方法还是相当好用的。
 

openmp在图像处理上面的运用的更多相关文章

  1. k-develop 在ros上面的应用

    sudo apt-get install kdevelop 根据wiki上面的ros 章节中,关于kdevelop的介绍,配置好环境即可. 导入工程时,选中src/src下面的章节,不过,需要注意去掉 ...

  2. 获取Linux进程运行在哪个CPU内核上面的方法

    首先,当某些时候,在一段程序或者借助第三方软件进行程序协助的时候,在性能的优化,以及程序bug的排除上面,可能会想知道该程序执行的进程被调度到了哪一个CPU内核进行工作,从而可以推断是否是受限于硬件还 ...

  3. IQKeyboardManager在某个页面取消键盘上面的Toolbar

    使用IQKeyboardManager的时候,如果想在某个页面取消键盘上面的Toolbar,请使用如下方法,按控制器去操作 // 取消IQKeyboardManager Toolbar [[IQKey ...

  4. 抓取oschina上面的代码分享python块区下的 标题和对应URL

    # -*- coding=utf-8 -*- import requests,re from lxml import etree import sys reload(sys) sys.setdefau ...

  5. 在Eclipse中设置Java类上面的注释(包含作者、日期等)

    希望在Eclipse中,让Java类上面的注释像下面这样,改如何设置呢? 在Eclipse中,点击菜单中的Window-->Preferences,打开如下窗口:

  6. iOS 难题解决日志------2层控制器 上面的控制器显示透明

     f ([[[UIDevice currentDevice] systemVersion] floatValue]>=8.0) { nextVC.modalPresentationStyle=U ...

  7. VS2012如何更新下载TFS上面的代码到本地

    现在的代码基本上全都放在TFS上面,如何同步TFS上面的code呢? 1. Open "Team Explorer - Home" 2. Click "Source Co ...

  8. CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容

    CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容,DiV透明其实挺简单,主要是为background定义opacity属性,一般这个是最大值是1,数值越接近1,则越不透明 ...

  9. 动态拼接 sql的时候 里面 如果有变量的话 按上面的方式进行处理

    set @Sql_Sql = N' select top 1 @m_zw=zw,@m_zh=temp from ket where zd=''ddd'' ' print @Sql_Sql EXEC s ...

随机推荐

  1. 当As3遇见Swift(三)

    类 As3 Swift中似乎没有包,包路径的概念.因而显得简洁的多. package { public class ShuaiGe { } } Swift类 class ShuaiGe{ } 类的构造 ...

  2. window.cookie

    本地测试cookie用火狐来测试 首先cookie是document上的一个属性. 先弹出一个cookie alert(document.cookie); //弹出是空的 设置cookie,格式是有一 ...

  3. C++(VS2012)DLL动态库的生成和调用

    DLL动态链接库的生成: 首先打开VS2012,新建——项目——Win32控制台应用程序(项目名称:ConsoleApplication1)——空项目 新建一个源文件source.cpp 先用控制台e ...

  4. [原创]java WEB学习笔记84:Hibernate学习之路-- -映射 一对一关系 ,基外键的方式实现

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. App架构设计学习(一)---- 接口的设计

    一.哎,最近换了家工作,结果工作很出的我意外,没有干熟悉的根据需求写代码,反而让我一个小菜鸟去重构一下App的架构(他们公司的app,已经上线了1.0版本了),没办法,只有硬着头皮去先学习学习,再总结 ...

  6. IntelliJ IDEA 14注册码

    User:xring Key:21423-V4P36-U7W8K-8CYUK-93HXA-MKGZ5 User:arix Key:52998-LJT74-J7YEX-UPVT3-Q5GUF-5G4B5 ...

  7. java-excel导出

    java excel导出分为两种2003年的格式和2007年的格式. 2003年的xls一个sheet限制65536. 2007年的xlsx限制为1048576. jxl导入2003 gradle j ...

  8. struts2校验の实现

    1.JSP <%@ page contentType="text/html; charset=utf-8" language="java" errorPa ...

  9. 夺命雷公狗jquery---3普通选择器

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. Android小案例——简单图片浏览器

    今天上午休息看Android书,里面有个变化图片的示例引起了我的兴趣. 示例需求: 有N张图片,循环显示图片的内容.如果需求让我写我会使用一个变量count来保存显示图片数据的索引,图片显示时做个判断 ...