關於emgucv我就不多說了,是對應於opencv的一套net庫。
公司是視覺方面的業務,我又不會c++(好想會啊,正在學習中)。由於各種需求,自己覺得對c++不是特別感冒,所以選用了net下的opencv的封裝emgucv。python也有對應的opencv的庫。無奈我python還處於入門階段。
emgucv顯示:
1var 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!
1import
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...