掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
RGBからHSVへ変換し求めるには? (ID:59933)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
以下のプログラムはfruitsという画像上の(10,10)の場所のRGBを求めるプログラムです。これをRGBからHSVに変換し、(10,10)の場所のHSVの値を求めるようなプログラムにするにはどうすればいいでしょうか? よろしくお願いします。 #include <stdio.h> #include "cv.h" #include "cxcore.h" #include "highgui.h" // グローバル変数群 char wndname[] = "Image"; IplImage *img=0; // 座標(x,y)のRGB値(r,g,b)を参照する関数 int getpixel(IplImage *image, int x, int y, int *r, int *g, int *b){ *r =(uchar) image->imageData[y *image->widthStep+ x * image->nChannels + 2]; *g =(uchar) image->imageData[y *image->widthStep+ x * image->nChannels + 1]; *b =(uchar) image->imageData[y *image->widthStep+x * image->nChannels]; return 0; } int main( int argc, char** argv ){ int x=10,y=10; // RGB値を参照する座標 int r,g,b; // RGB値を格納する変数 // 画像ファイル読み込み char* filename = argc == 2 ? argv[1] : (char*)"fruits.jpg"; if( (img = cvLoadImage( filename, 1)) == 0 ) return -1; // 画像表示窓の準備 cvNamedWindow(wndname, 1); // 座標(x,y)のRGB値(r,g,b)を参照 getpixel(img,x,y,&r,&g,&b); printf("座標(%d, %d)のRGB値は(%d, %d, %d)です.\n",x,y,r,g,b); // 画像表示 cvShowImage("Image", img); // 何かキーを押すと終了 cvWaitKey(0); // 解放 cvReleaseImage(&img); cvDestroyWindow(wndname); return 0; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.