• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            是塵封已久的記憶再次融化 是堆積心底的烈火再次燃燒 是直覺讓我來到這久違的大地 是信念讓我開始了新的征途 在硝煙中我得到了成長 在傷痛中我學(xué)會了堅強(qiáng) 在沉默中我明白了等待 在孤獨(dú)中我體味了感傷 并不是我不懂得眼淚 并不是我只知道使命 在內(nèi)心深處我同你一樣火熱 在我的眼中也有著多情的淚光 也許我的生命如落葉般短暫 也許我只是歲月長河中的一個過客 但我對自己所做的一切無怨無悔 因為我品嘗到了那最后一刻的淚光
            隨筆-6  評論-24  文章-8  trackbacks-0
             1#include <cutil_inline.h>
             2#include <cv.h>
             3#include <cstdio>
             4#include <iostream>
             5#include <cutil.h>
             6#include <ctime>
             7#include <cstdlib>
             8#include <highgui.h>
             9#include <windows.h>
            10
            11#pragma comment(lib, "cuda.lib")
            12#pragma comment(lib, "cudart.lib")
            13#pragma comment(lib, "cutil32.lib")
            14#pragma comment(lib, "cv.lib")
            15#pragma comment(lib, "cxcore.lib")
            16#pragma comment(lib, "highgui.lib")
            17
            18using namespace std;
            19
            20__global__ void mainKernel(unsigned char *d_data, int widthStep, int width, int height)
            21{
            22    unsigned int x = blockIdx.x*blockDim.x+threadIdx.x;
            23    unsigned int y = blockIdx.y*blockDim.y+threadIdx.y;
            24    if( x>0 && x < width && y>0 && y < height )
            25    {                  
            26        d_data[y*widthStep+x*3+0^= ( ((x&0x0F)==0^ ((y&0x0F)==0)  ) *255;
            27        d_data[y*widthStep+x*3+1^= ( ((x&0x0F)==0^ ((y&0x0F)==0)  ) *255;
            28        d_data[y*widthStep+x*3+2^= ( ((x&0x0F)==0^ ((y&0x0F)==0)  ) *255;
            29    }

            30}

            31
            32int main()
            33{
            34    IplImage* src = cvLoadImage("IMG_03.JPG");
            35
            36    int widthStep = src->widthStep;
            37    int width   = src->width;
            38    int height  = src->height;
            39
            40    printf("before widthStep = %d\n", widthStep);
            41    if( widthStep%4 != 0)
            42    {
            43        widthStep = (1+widthStep/4)*4;
            44    }

            45    printf("after widthStep = %d\n", widthStep);
            46
            47    unsigned char* d_img_data;
            48    CUDA_SAFE_CALL(cudaMalloc((void**)&d_img_data, widthStep*height));
            49    CUDA_SAFE_CALL(cudaMemcpy(d_img_data, src->imageData, widthStep*height, cudaMemcpyHostToDevice));
            50
            51    dim3 dimBlock(16161);
            52    dim3 dimGrid( (width+dimBlock.x-1)/dimBlock.x, (height+dimBlock.y-1)/dimBlock.y );
            53    mainKernel<<<dimGrid, dimBlock, 0>>>(d_img_data, widthStep, width, height);
            54    CUDA_SAFE_CALL(cudaThreadSynchronize());
            55
            56    CUDA_SAFE_CALL( cudaMemcpy( src->imageData, d_img_data, widthStep*height, cudaMemcpyDeviceToHost) );
            57    
            58    cvNamedWindow("test",CV_WINDOW_AUTOSIZE);
            59    cvShowImage("test",src);
            60    cvWaitKey(0);
            61    cvDestroyAllWindows();
            62
            63    cvReleaseImage(&src);
            64    CUDA_SAFE_CALL(cudaFree(d_img_data));
            65    return 0;
            66}
            posted on 2009-12-28 10:58 noBugnoGain 閱讀(1795) 評論(1)  編輯 收藏 引用

            評論:
            # re: 用cuda操作IplImage中的數(shù)據(jù) 2010-08-23 13:46 | STICKGY
            您好,我是OPENCV以及CUDA的初學(xué)者,我現(xiàn)在要完成一個任務(wù),就是把OPENCV和CUDA配置到一起,把它倆結(jié)合起來編程,雖然我還不是很懂,但是應(yīng)該就是得到類似于您文章中的效果吧!但是把不清楚應(yīng)該怎樣進(jìn)行,甚至創(chuàng)建什么項目、在哪種文件(.cpp or .cu)中編程,希望您能給予適當(dāng)?shù)闹附蹋x謝!  回復(fù)  更多評論
              

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            18岁日韩内射颜射午夜久久成人| 久久精品99久久香蕉国产色戒 | 精品无码久久久久国产动漫3d| 久久精品这里热有精品| 精品亚洲综合久久中文字幕| 久久亚洲综合色一区二区三区| 久久久久亚洲av成人网人人软件| 久久综合狠狠综合久久97色| 久久精品18| 久久久无码精品亚洲日韩蜜臀浪潮 | 久久久久久午夜成人影院| 久久精品国产日本波多野结衣 | 午夜人妻久久久久久久久| 日韩av无码久久精品免费| 久久夜色精品国产亚洲| 亚洲国产精品一区二区久久| 久久亚洲高清观看| 久久99国产一区二区三区| 久久综合亚洲欧美成人| 国产精品久久久久久久| 久久精品中文字幕一区| 久久久av波多野一区二区| 狠狠狠色丁香婷婷综合久久五月| 精品无码久久久久国产| 国产精品免费久久久久久久久| 久久无码中文字幕东京热| 久久精品国产亚洲av瑜伽| 久久亚洲国产最新网站| 国产999精品久久久久久| 亚洲午夜精品久久久久久人妖| 久久人人超碰精品CAOPOREN| 亚洲人成伊人成综合网久久久| 中文字幕无码久久人妻| 国产成人久久精品二区三区| 久久夜色撩人精品国产小说| 少妇精品久久久一区二区三区| 亚洲狠狠综合久久| 狠狠色丁香久久婷婷综合| 亚洲一区中文字幕久久| 精品多毛少妇人妻AV免费久久 | 亚洲国产精品无码久久久不卡 |