cvcvtcolor_openCV–cvCvtColor函數 | 學步園

1、概況

cvCvtColor(...),是Opencv里的顏色空間轉換函數,可以實現RGB顏色向HSV,HSI等顏色空間的轉換,也可以轉換為灰度圖像。

參數CV_RGB2GRAY是RGB到gray,

參數 CV_GRAY2RGB是gray到RGB.處理結果是彩色的,則轉灰色就是了:

void cvCvtColor( const CvArr* src, CvArr* dst, int code );

src

輸入的 8-bit,16-bit或 32-bit單倍精度浮點數影像。

dst

輸出的8-bit, 16-bit或 32-bit單倍精度浮點數影像。

code

色彩空間轉換的模式,該code來實現不同類型的顏色空間轉換。比如CV_BGR2GRAY表示轉換為灰度圖,CV_BGR2HSV將圖片從RGB空間轉換為HSV空間。其中當code選用CV_BGR2GRAY時,dst需要是單通道圖片。當code選用CV_BGR2HSV時,對於8點陣圖,需要將RGB值歸一化到0-1之間。這樣得到HSV圖中的H範圍才是0-360,S和V的範圍是0-1。

2、函數使用範例

這裡給出將RGB圖像轉換為灰度和HSV的例子:

IplImage *src = cvLoadImage("4085_1.jpg",1);//原圖

IplImage *dst_gray = cvCreateImage(cvGetSize(src),src->depth,1);//灰度圖

IplImage *dst_image = cvCreateImage(cvGetSize(src),32,src->nChannels);

IplImage *src_image_32 = cvCreateImage(cvGetSize(src),32,src->nChannels);

//這兩個圖需要是32浮點位的,因為對原圖進行歸一化後得到的是浮點數

cvCvtColor(src,dst_gray,CV_BGR2GRAY);//得到灰度圖

cvConvertScale(src,src_image_32,1.0/255.0,0);//將原圖RGB歸一化到0-1之間

cvCvtColor(src_image_32,dst_image,CV_BGR2HSV);//得到HSV圖

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值