スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

OpenCVのIplImageの画素データをOpenCLに渡す方法

OpenCLで設定したデバイスにデータを渡すときはポインタ始点とサイズを指定しなければならないが、OpenCVで読み込んだ画像のデータにアクセスして各画素を取り出す方法がわかった。下記である。

std::string filename="Shikoku.jpg";
IplImage *image;

//gray scaleで画像読み込み
image = cvLoadImage( filename.c_str(), CV_LOAD_IMAGE_GRAYSCALE );
printf("width=%d\n", image->width);
printf("height=%d\n", image->height);
printf("nChannels=%d\n", image->nChannels);
FILE *fp;
fp=fopen("data.dat", "w");
for(int i=0; iwidth*image->height*image->nChannels; i++){
fprintf(fp, "%d %d %d\n",
i%image->width, (int)(i/image->width), ((uchar*)(image->imageData))[i]);
}
fclose(fp);

> data <- read.table("data.dat", header=F)
> plot(data[,1], rev(data[,2]), col=mycol[data[,3]], cex=0.5, pch=18)

スポンサーサイト
Profile

zoa

Author:zoa
Metropolis (1927)

Calendar
02 | 2016/03 | 04
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
Labels
Admin
Previous Posts
Recent Comments
Recent Trackback
Archive
このページのトップへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。