1. 程式人生 > >opencv3 與opencv2不同之處

opencv3 與opencv2不同之處

由於opencv3的主體實在opencv2的基礎上進行的修改,部分opencv2的程式仍然可以在opencv3下執行。但是opencv3也做了部分的修改。網上關於這些的資料也不太多,在學習過程中遇到了一些問題,很是糾結無法解決,所以就在自己看opencv3時就總結了一些不同記錄下來,希望有別人有所幫助。(其他的opencv2與opencv3的區別可以參考opencv3的官方文件(只有英文版)和《opencv3程式設計入門)

opencv3中取消了opencv1中的”cv_”命名規範,對於這些cv_字首的使用了新的命名規範。這裡大概可以大概分為以下這幾類。

(1)直接去掉”CV_”字首

1)namedWindow中將cv_WINDOW_AUTOSIZE改為WINDOW_AUTOSIZE
2)line函式及其同一類的繪圖函式,cv_filed改為filled
3)threshold函式中將cv_thresh_binary改為thresh_binary
4)remap函式中,cv_inter_linear改為inter_linear
5)滑鼠操作函式setmousecallback中將cv_event_lbuttonup改為event_lbuttonup,等等一些直接將cv去除。
6)imwrite中,將cv_inpaint_telea改為inpaint_telea,cv_inpaint_ns改為inpaint_ns
7)設定攝像頭尺寸時將cv_cap_prop_frame_width改為cap_prop_frame_width,cv_cap_prop_frame_height 改為 cap_prop_frame_height
..等等一些函式可以直接將字首去除。

(2)需要新的字首

比較常用的一些如
1)line函式中一些繪函式中的引數,cv_AA改為LINE_AA
2)cvtColor函式中顏色轉換系的巨集,全替換為”COLOR_”字首,如CV_BGR2HSV改為COLOR_BGR2HSV
3)normalize中,將cv_MINMAX改為NORM_MINMAX 等等

(3)其他

1)定義尺寸時將cvSize(-1,-1)改為Size(-1,-1)
2)在表示顏色時,將cv_RGB改為Scalar。
其中Videowriter中的fourcc,cv2.x版本中中形式為cv2.cv.fourcc,在cv3,0以上的版本中應為cv2.VideoWriter_fourcc,需要特別注意。
持續更新。