乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Opencv的RGB到HSV顏色空間轉(zhuǎn)換

       學海無涯GL 2013-11-19

      從 RGB 到 HSL 或 HSV 的轉(zhuǎn)換

      設 (r, g, b) 分別是一個顏色的紅、綠和藍坐標,它們的值是在 0 到 1 之間的實數(shù)。設 max 等價于 r, gb 中的最大者。設 min 等于這些值中的最小者。要找到在 HSL 空間中的 (h, s, l) 值,這里的 h ∈ [0, 360)是角度的色相角,而 s, l ∈ [0,1] 是飽和度和亮度,計算為:

       

      (1)Matlab RGB轉(zhuǎn)換為HSV

      I = imread('Lena.jpg');
      HSV = rgb2hsv(I);
      H = HSV(:, :, 1);
      S = HSV(:, :, 2);
      V = HSV(:, :, 3);
      figure;
      subplot(2, 3, 1); imshow(I);
      //subplot(2, 3, 2); imshow(HSV);
      subplot(2, 3, 4); imshow(H);
      subplot(2, 3, 5); imshow(S);
      subplot(2, 3, 6); imshow(V);

      (2)Opencv中RGB轉(zhuǎn)換為HSV

      // BRGtoHSVShow.cpp : 定義控制臺應用程序的入口點。
      //

      //#include "stdafx.h"
      #include "cv.h"
      #include "cxcore.h"
      #include "highgui.h"
      #include "cvaux.h"

      int main( )
      {
       IplImage* src = NULL;
       IplImage* floatsrc = NULL;
       IplImage* floathsv = NULL;
       IplImage* floatimgH = NULL;
       IplImage* floatimgS = NULL;
       IplImage* floatimgV = NULL;

       cvNamedWindow( "src", 1 );
       cvNamedWindow( "H通道", 1 );
       cvNamedWindow( "S通道", 1 );
       cvNamedWindow( "V通道", 1 );

       src = cvLoadImage( "lena.jpg", -1);
      cvShowImage( "src", src );
       CvSize size = cvGetSize( src );

       //先將圖像轉(zhuǎn)換成float型的
       floatsrc = cvCreateImage( size, IPL_DEPTH_32F, 3 );
       floathsv = cvCreateImage( size, IPL_DEPTH_32F, 3 );
       floatimgH = cvCreateImage( size, IPL_DEPTH_32F, 1 );
       floatimgS = cvCreateImage( size, IPL_DEPTH_32F, 1 );
       floatimgV = cvCreateImage( size, IPL_DEPTH_32F, 1 );

       //將src從8位轉(zhuǎn)換到32位的float型
       cvConvertScale( src, floatsrc, 1.0/255.0, 0 );//歸一化之后方能夠顯示
       //cvConvertScale( src, floatsrc, 1, 0 );
       //cvShowImage("floatsrc",floatsrc);
       //cvWaitKey(-1);

       //將float型圖像 從BGR轉(zhuǎn)換到HSV  如果需要轉(zhuǎn)換到其他的顏色空間 那么改變CV_BGR2HSV即可
       //cvCvtColor要求兩個參數(shù)的類型必須完全相同,所以要轉(zhuǎn)為float型
       cvCvtColor( floatsrc, floathsv, CV_BGR2HSV );

       //將三通道圖像 分解成3個單通道圖像,H對應的通道時0,S、V對應的通道時1和2
       //cvCvtPixToPlane(picHSV, h_plane, s_plane, v_plane, 0);
       cvSplit( floathsv, floatimgH, floatimgS, floatimgV, NULL);

       cvShowImage( "src", src );
       cvShowImage( "H通道", floatimgH );
       cvShowImage( "S通道", floatimgS );
       cvShowImage( "V通道", floatimgV );
      //CV_BGR2HSV

       cvWaitKey( 0 );

       cvReleaseImage( &src );
       cvReleaseImage( &floathsv );
       cvReleaseImage( &floatimgH );
       cvReleaseImage( &floatimgS );
       cvReleaseImage( &floatimgV );

       return 0;
      }

       

       

      參考資料:

      http://blog.163.com/my_it_dream_pwj/blog/static/178414305201131310153036/

      http://www./thread-95980-1-1.html

      http://blog.sina.com.cn/s/blog_658cfb1d01014fv5.html

      http://zhidao.baidu.com/question/259749959.html

      http://www./forum/viewtopic.php?t=4032

      http://zh./wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多