使用C#+EmguCV處理圖像入門(圖像讀取_顯示_保存)二

上個隨筆已經介紹EmguCV的一些經常使用庫和程序安裝以及環境變量的配置,此次寫的是如何使用這個類庫對圖像進行操做。函數

EmguCV圖像處理系統組成(我的看法):編碼

圖像的基本操做:spa

 

貼個代碼:code

using Emgu.CV;   //使用命名空間
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using Emgu.Util; 
static void Main(string[] args)
{
   Mat srcImg = CvInvoke.Imread("1.jpg"); //讀取圖片
      CvInvoke.NamedWindow("img", NamedWindowType.AutoSize); //建立窗口
   CvInvoke.Imshow("img", srcImg); //顯示圖片
   CvInvoke.Imwrite("1.bmp", srcImg); //保存結果圖片  
   CvInvoke.WaitKey(0); //暫停按鍵等待
}

函數解析:orm

①命名空間(必須的):
using Emgu.CV ---封裝了OpenCV基本圖像處理函數,在CvInvoke類中
using Emgu.CV.CvEnum ---OpenCV枚舉類型,包含一些枚舉類型宏定義
Imread()函數:blog

 1)第一個參數,須要填入圖片路徑名,支持以下格式:圖片

Windows位圖: *.bmp, *.dib
JPEG文件: *.jpeg, *.jpg, *.jpe
JPEG2000文件: *.jp2
PNG圖片: *.png
便攜文件格式: *.pbm, *.pgm, *.ppm
Sun rasters光柵文件: *.sr, *.ras
TIFF文件: *.tiff, *.tif
2)第二個參數,指定加載圖像的顏色類型,
  默認爲ImreadModes.Color=1:
string

NamedWindow()函數:it

1)第一個參數,設置做爲標識的窗口名稱
2)第二個參數,窗口顯示方式,取值以下:
圖像處理

Normal:正常大小顯示,用戶能夠改變窗口大小
Autosize: 根據圖像大小自動調整,用戶不能手動改變窗口大小
Opengl: 支持openGL
Imshow()函數:

 

 1)第一個參數,設置須要顯示的窗口名稱
2)第二個參數,填寫須要顯示的圖像
注:函數中出現InputArray/ OutputArray可先當作Mat類型
⑤Imwrite()函數:

1)第一個參數,設置保存的文件名,需填寫後綴,如"1.bmp"
2)第二個參數,要保存的Mat類型圖像數據
3)第三個參數,表示特定格式保存的參數編碼,通常採用默認值不填寫
WaitKey()函數:

1)第一個參數,若是delay>0, 表示等待delay毫秒以後結束
若是delay=0, 表示無限等待,直到有按鍵按下結束
2)返回值爲對應按下按鍵的ASCII碼值,如Esc的ASCII碼爲27

介紹一下ASCll表:

還有一些經常使用的方法:

1).IsEmpty 判斷圖像是否爲空2).Rows 獲取圖像行數(高度)3).Cols 獲取圖像列數(長度)4).NumberOfChannels 獲取圖像通道數5).Depth 獲取圖像位深度

相關文章
相關標籤/搜索