原创 CMake 配置編譯OpenCV+CUDA

參考: http://bikulov.org/blog/2013/12/24/example-of-cmake-file-for-cuda-plus-cpp-code/ 在CMakeLists.txt 文件如下: CMAKE_MINIMU

原创 OpenCV 命名空間 using namespace

在OpenCV中使用 using namespace cv 的作用:      在使用#include語句包含相應頭文件後,使用下面語句即可包含相應的Opencv命名空間       using namespace cv;      

原创 VS2013 編譯 OpenCV_CUDA 工程編譯出錯

編譯出現下面錯誤 Error7   error LNK2019: unresolved external symbol"void __cdecl swap_rb_caller(struct cv::cuda::PtrStepSz<str

原创 OpenCV3.1-OpenCL的使用

參考:  http://opencv.org/platforms/opencl.html 一、OpenCV-2.x 和 OpenCV-3.x使

原创 VS2013 配置OpenCV3.1

一、環境: Windows10 家庭版 64位 Virtual Stadio 2013  OpenCV 3.1  二、配置VS的項目屬性 (1)選擇X64 (2) 項目名稱上右鍵->屬性,然後: (路徑以你的電腦實際爲準)

原创 VS2013 配置CUDA

 一、環境: Windows10家庭版 64位 Virtual Stadio 2013  CUDA 8.0 二、工程建立 1、打開vs2013並創建一個空win32程序,創建一個cuda_samples的解決方案和cuda_t

原创 CUDA 學習(二)、使用GPU理解並行計算

一、併發性        由於“易並行”不需要或者只需要少許線程間或線程塊間通信,所以CUDA是很理想的並行求解平臺。它用基於片上資源的、顯式的通信原語來支持線程間通信。但是塊間通信只有通過按順序調用多個內核程序才能實現,而且內核間通信需

原创 Makefile (十二) wildcard 用法

       在Makefile規則中,通配符會被自動展開。但在變量的定義和函數引用時,通配符將失效。這種情況下如果需要通配符有效,就需要使用函數“wildcard”,它的用法是:$(wildcard PATTERN...)。在Makef

原创 CUDA 學習(四)、線程

一、概述        英偉達的硬件調度是採用SPMD(單程序多數據),屬於SIMD(單指令多數據)的一種變體。線程是並行程序的基本構建塊。 二、CPU與GPU的差異        GPU和CPU設備的架構是迥異的。CPU的設計是用來運

原创 CUDA 學習(六)、線程網格

一、概述        一個線程網格是由若干線程塊組成的,每個線程塊是二維、三維的,擁有X軸、Y軸、Z軸。此時,每次最多能開啓Y*X*Z*T 個線程。        通常線程塊中線程數量最好是一個線程束大小的整數倍,即32 的整數倍。由於

原创 OpenCV_CUDA 中GpuMat數據結構

一 、GUPMat 概述      在使用OpenCV_CUDA 編程中會遇到GpuMat數據結構,該數據結構是GPU內存容器。          在GUP中,類GpuMat是存儲2D數據。類GpuMat 的特點:(1)它的數據不是連續的

原创 Makefile (十) 隱含規則

       在我們使用 Makefile 時,有一些我們會經常使用,而且使用頻率非常高的東西,比如,我們編譯 C/C++的源程序爲中間目標文件(Unix 下是[.o]文件,Windows 下是[.obj]文件)。本章講述的就是一些在 M

原创 Makefile (九) make 的運行

       一般來說,最簡單的就是直接在命令行下輸入 make 命令,make 命令會找當前目錄的makefile 來執行,一切都是自動的。但也有時你也許只想讓 make 重編譯某些文件,而不是整個工程,而又有的時候我們有幾套編譯規則,

原创 CMake 常用命令解析

參考: http://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.html 一、常用命令解析 1、CMAKE_MINIMUM_REQUIRED(VERSION 2.

原创 CUDA 學習(三)、CUDA硬件概述

一、PC架構         先看一下酷睿架構圖:                                PCI-E 是一個有意思的總線。與其上一代PCI(外圍設備互連)總線不同,PCI-E提供一個確定的帶寬。在原先的PCI系統中