亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

C#.net 環境下使用OpenCV(一)

系統 3429 0
首先介紹一下EmguCV 。

EmguCV a是.NET 平臺下對OpenCV 圖像處理庫的封裝。也就是OpenCV的.NET 版。它運行在.NET 兼容的編程語言下調用OpenCV 的函數,如C#、VB、VC++、IronPython 等。這個封裝庫可以在Mono 下編譯和在Linux / Mac OS X 上運行。

?

接著簡要介紹一下EmguCV的安裝步驟:

1、首先保證你的電腦已經裝好了openCV,并且保證環境變量已經設置好。具體參照OpenCV官方中文網站,寫得很清楚。

2、下載EmguCV壓縮包,其實就是幾個可以在Visual Studio2005/2008中引用OpenCV的函數的dll庫。我下的是1.50版,“Emgu.CV.Windows.Binary-1.5.0.0.zip”。解壓該壓縮包,并把其DLL拷貝在OpenCV安裝目錄下的Bin文件夾里。

3、新建一個c#窗體應用程序,添加Bin目錄下“Emgu.CV.dll”,“Emgu.Util.dll”等DLL的引用,還有些窗體的控件,主要是將 Emgu.CV.UI.dll 加入工具箱中,加入後會出現 ImageBox、HistogramCtrl。

4、然后,再程序的開頭中加上 using Emgu.CV; using Emgu.Util;等命名空間之后就可以用EmguCV中所有的庫函數了。

?

然后說說幾個使用EmguCV的基礎問題及要注意的地方:

1、在.net中使用OpenCv和EmguCv時,必須在三者支持的圖像格式之間進行轉換。.net中用Bitmap類來承載圖像,OpenCv中用IplImage指針來承載圖像,EmguCv中用Image<TColor,TDepth>來承載圖像。

讀入圖像的方法有幾種,在OpenCV中,可以使用:

IntPtr srcImage;//IntPtr代替IplImage*
srcImage = CvInvoke.cvLoadImage("lena.jpg",Emgu.CV.CvEnum.IPL_DEPTH.IPL_DEPTH_8U,1);

在EmguCV中,建議使用Image類來實現讀入操作,寫法如下

//讀入一張BGR圖像,要將lena.jpg放入DEBUG目錄下。

Image<Bgr, byte> img = new Image<Bgr, byte>("lena.jpg");

//ToBitmap()將IImage格式轉換為Bitmap格式,便能為PictureBox所用了。

pictureBox1.Image = img.ToBitmap();或者pictureBox1.Image=img.Bitmap;

Image格式還可以轉換成IntPtr,如:

srcImage = img.Ptr;

Image類實在功能強大,還有封裝了很多常用的圖像處理的函數。

2、圖片的數據處理

可以使用c++中OpenCV的指針訪問的辦法,但是在c#.net的環境下,是不安全代碼,要加上unsafe關鍵字

unsafe
{
?? ((byte*)img.MIplImage.imageData + img.MIplImage.widthStep * i)[j] = 0;

}

建議使用EmguCV的寫法

//對Image<Bgr,byte>的第y行第x列進行讀取和寫入操作。

Bgr color=img[y,x];

img[y,x]=color;

Bgr格式的數據可以通過Bgr.Blue,Bgr.Green,Bgr.Red訪問,Gray格式的數據可以通過Gray.intensity訪問,所有數據都是可以讀寫的。

3、判斷一個視頻是否讀到文件尾,不能用null,要用一個為空類型的IntPtr,就是IntPtr eof = new IntPtr(),看其是否與eof相等。
4、IplImage*,CvCapture*等指針在C#中都用IntPtr來代替,且其中沒有cvGetMCvSize函數,故用cvGetImageROI來暫時代替
5、由于C#中沒有取地址符號&,所以在這里所有的取地址都用引用來代替,即ref。
6、OpenCV中的所有的預定義的常量,都封裝在Emgu.CV.CvEnum這個枚舉類型里面。

?

?

?


參考:

1、 http://www.cnblogs.com/xrwang/archive/2010/01/26/TheInteractionOfOpenCv-EmguCvANDDotNet.html

2、 http://hi.baidu.com/pengjun/blog/item/4ce4cb80213c3ddf9123d9c3.html

3、 http://www.dotblogs.com.tw/chou/archive/2009/06/13/8812.aspx

4、 http://hi.baidu.com/barty/blog/item/0bc7353eac40393671cf6c42.html

?

C#.net 環境下使用OpenCV(一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: a级片免费在线播放 | 99热这里只有精品7 99热这里只有精品8 | 深夜天堂| 成年人免费毛片 | 特级全黄一级毛片视频 | 日本粉嫩毛片视频 | 国产精品福利在线观看免费不卡 | 久久久精品免费热线观看 | 99热久久国产这里是精品 | 日日夜人人澡人人澡人人看免 | 日日夜夜免费精品 | 国产精品成人久久久久久久 | 91精品国产91久久久久福利 | 久久天堂夜夜一本婷婷麻豆 | 女人一级毛片 | 97国内精品久久久久久久影视 | 亚洲品质自拍视频 | 久久婷婷五色综合夜啪 | 中文字幕免费在线观看 | 亚洲综合色就色手机在线观看 | 91九色蝌蚪 | 亚欧乱色精品免费观看 | 国内主播大秀福利视频在线看 | 日本最新在线 | 国产精品亚洲第五区在线 | 好吊妞视频一区二区 | 天天干天天碰 | 成人黄色在线免费观看 | 五月婷婷综合激情网 | 欧美一级毛片免费播放aa | 色爱区综合五月激情 | 久草手机在线观看 | 99精品国产高清自在线看超 | 五月婷婷视频在线观看 | 手机看片日韩日韩国产在线看 | 亚洲精品第一区二区三区 | 女人18毛片黄 | 日韩一级大毛片欧美一级 | 国产成人高清在线观看播放 | 永久黄网站色视频免费观看99 | 久久精品亚瑟全部免费观看 |