日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

使用OpenCv將圖像轉(zhuǎn)化為灰度圖像

 Y忍冬草 2016-07-11

轉(zhuǎn)自:http://www./articles/67RJRf

使用OpenCv將一幅圖像轉(zhuǎn)換為灰度圖像

灰度圖像在實(shí)際應(yīng)用中也不少,轉(zhuǎn)換為灰度圖像比較簡單,關(guān)鍵函數(shù): cvCvtColor

cvCvtColor(IplImage* src, IplImage* dst, CV_BRG2GRAY);

注意:

最后一個(gè)參數(shù)為 CV_BRG2GRAY ,表示將BRG圖片(彩色圖片)轉(zhuǎn)換為灰度圖片(黑白)。

參數(shù)src、dst必須事先分配好內(nèi)存空間!

下面是代碼:

#include <stdio.h>
#include <stdlib.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>

int toGray(IplImage* img)
{
  IplImage* dst = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//用原圖像指針創(chuàng)建新圖像
  if(NULL == dst)
    return -1;
  cvCvtColor(img, dst, CV_BGR2GRAY);//轉(zhuǎn)換顏色空間 我試過,如果沒有這一步 得到的圖像將是全黑

  cvNamedWindow("Gray", CV_WINDOW_AUTOSIZE);
  cvShowImage("Gray", dst);
  cvSaveImage("Gray.jpg", dst, 0);//保存
  
  cvWaitKey(0);
  cvReleaseImage(&dst);
  cvDestroyWindow("Gray");

  return 1;
}

int main(int argc, char** argv)
{
  if(argc != 2)
  {
    printf("Usage:test xxx.jpg\n");
    return 1;
  }

  IplImage* img = cvLoadImage(argv[1], 
      CV_LOAD_IMAGE_ANYDEPTH|CV_LOAD_IMAGE_ANYCOLOR);                                                                                                           //如果想要載入最真實(shí)的圖像,選擇CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。
  if(NULL == img)
  {
    printf("Image load fail!\n");
    return 2;
  }

  cvNamedWindow("RGB", CV_WINDOW_AUTOSIZE);
  cvShowImage("RGB", img);

  toGray(img);

  cvReleaseImage(&img);
  cvDestroyWindow("RGB");

}

原圖像:

            
目標(biāo)圖像:
    

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多