EmguCV學習 簡單使用

2022-01-13 13:41:20 字數 3641 閱讀 4863

關於emgucv我就不多說了,是對應於opencv的一套net庫。

公司是視覺方面的業務,我又不會c++(好想會啊,正在學習中)。由於各種需求,自己覺得對c++不是特別感冒,所以選用了net下的opencv的封裝emgucv。python也有對應的opencv的庫。無奈我python還處於入門階段。

emgucv顯示:

1

var img =cvinvoke.cvloadimage(imgname, emgu.cv.cvenum.load_image_type.cv_load_image_anycolor);

2 cvinvoke.cvnamedwindow("

mainwin");

3if (img == null)4

8 cvinvoke.cvshowimage("

mainwin

", img);

1 intptr catchframe =cvinvoke.cvcreatefilecapture(path.tostring());2//

得到總幀數

3var count =cvinvoke.cvgetcaptureproperty(catchframe, emgu.cv.cvenum.cap_prop.cv_cap_prop_frame_count);4//

5int wd = (int

)cvinvoke.cvgetcaptureproperty(catchframe, emgu.cv.cvenum.cap_prop.cv_cap_prop_frame_width);6//

7int hg = (int

)cvinvoke.cvgetcaptureproperty(catchframe, emgu.cv.cvenum.cap_prop.cv_cap_prop_frame_height);8//

當前幀位置9//

cvinvoke.cvgetcaptureproperty(catchframe, emgu.cv.cvenum.cap_prop.cv_cap_prop_pos_frames);

10//

幀頻11

cvinvoke.cvgetcaptureproperty(catchframe, emgu.cv.cvenum.cap_prop.cv_cap_prop_fps);

1213

intptr frameimg;

14int i = 0

;15 cvinvoke.cvnamedwindow("

mainwin");

16//

灰度圖17

//intptr grayimg = cvinvoke.cvcreateimage(new size(wd,hg),emgu.cv.cvenum.ipl_depth.ipl_depth_8u,1);

18while ((frameimg = cvinvoke.cvqueryframe(catchframe)) !=intptr.zero)

1929 cvinvoke.cvreleaseimage(ref

frameimg );

30 cvinvoke.cvdestroywindow("

mainwin

");

另附上python的呼叫opencv的**

python需要安裝numpy和scipy!

1

import

cv22

import

numpy as np3#

讀取4 img = cv2.imread("

5#例項化8點陣圖

6 emptyimage =np.zeros(img.shape, np.uint8)

7 emptyimage2 =img.copy()8#

灰度圖9 emptyimage3 =cv2.cvtcolor(img,cv2.color_bgr2gray)10#

顯示11 cv2.imshow("

emptyimage

",emptyimage)

12 cv2.imshow("

emptyimage2

",emptyimage2)

13 cv2.imshow("

emptyimage3

",emptyimage3)

14 cv2.imshow("

img"

,img)15#

儲存 質量為5 和 100

png壓縮大小

19 cv2.imwrite("

./3.png

",img,[int(cv2.imwrite_png_compression),0])

20 cv2.imwrite("

./4.png

",img,[int(cv2.imwrite_png_compression),9])

2122

#cv2.namedwindow("image")23#

cv2.imshow("image",image)

24cv2.waitkey(0)

25 cv2.destroyallwindows()

1

#!/usr/bin/env python2#

-*- coding: utf-8 -*-3#

@author: 禾子三金4#

@date: 2015-08-05 17:45:455#

@last modified by: 禾子三金6#

以上**都是我自己網上找的demo或者自己寫的簡單例子,**粗糙,嘿嘿。

我堅信:種一棵樹最好的時間是十年前,其次是現在。

有關EmguCV使用技巧的簡單彙總

1 emgu image類有乙個tobitmap 函式,可以返回乙個位圖物件,用於使用windows窗體picturebox控制項上顯示 2 emgu mat轉成emgu image方法 imageimg mat.toimage 3 c 控制台程式通過emgu顯示影象的方法 emgu.cv.ui.i...

從example開始,學習EmguCV

以前用的opencv2.4.2和vs2008,用c 開發。感覺整個函式庫太大了,雖然文件還比較全但還是很難方便地使用。而且幾乎沒有物件導向的思想。後來知道了emgucv,基本上就是.net版本的opencv,文件不如opencv,但可以利用.net開發的各種便利條件,所以嘗試學習一下。我的emguc...

Emgucv4 1安裝與使用

以前使用的是emgucv3.2版本,但是最近出了4.1版本後,想新使用,發現幾個區別 2 使用時,引用dll位置有變化 1 emgucv3.2時,引用dll的位置如下 c emgu emgucv windesktop 3.2.0.2682 bin c emgu emgucv windesktop 3...