Python影像處理(10):從2.4.11到3.0.0

來源:互聯網
上載者:User

標籤:vs2013   opencv   python   影像處理   

快樂蝦

http://blog.csdn.net/lights_joy/

歡迎轉載,但請保留作者資訊


今天費了點時間將opencv從2.4.11升級到了3.0.0,簡單記下升級後對python代碼的差異。


1.    VideoCapture的差異


在2.4.11中,我們擷取碼率等參數是這樣的:


#獲得碼率及尺寸fps = videoCapture.get(cv2.cv.CV_CAP_PROP_FPS)size = (int(videoCapture.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)), 

但到了3.0.0,已經沒有cv2.cv了,相應的代碼也就成了:

#獲得碼率及尺寸fps = videoCapture.get(cv2.CAP_PROP_FPS)size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),         int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))

2.    findContours的差異


在2.4.11中,執行findContours是這樣的:

# 擷取輪廓,我們的目的是分塊,因此只使用外層輪廓,使用點序列的形式bin_img_save = np.copy(bin_img)(contoures, hierarchy) = cv2.findContours(bin_img_save, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

但在3.0.0下卻有問題:




觀察此函數的匯出介面:


    if( PyArg_ParseTupleAndKeywords(args, kw, "Oii|OOO:findContours", (char**)keywords, &pyobj_image, &mode, &method, &pyobj_contours, &pyobj_hierarchy, &pyobj_offset) &&        pyopencv_to(pyobj_image, image, ArgInfo("image", 1)) &&        pyopencv_to(pyobj_contours, contours, ArgInfo("contours", 1)) &&        pyopencv_to(pyobj_hierarchy, hierarchy, ArgInfo("hierarchy", 1)) &&        pyopencv_to(pyobj_offset, offset, ArgInfo("offset", 0)) )    {        ERRWRAP2(cv::findContours(image, contours, hierarchy, mode, method, offset));        return Py_BuildValue("(NNN)", pyopencv_from(image), pyopencv_from(contours), pyopencv_from(hierarchy));    }

可以發現它返回了三個值,因此這個介面的調用就變成了:

# 擷取輪廓,我們的目的是分塊,因此只使用外層輪廓,使用點序列的形式bin_img_save = np.copy(bin_img)(new_img, contoures, hierarchy) = cv2.findContours(bin_img_save, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

3.    legacy


在2.4.11中有一個叫legacy的動態庫,但是3.0.0中已經沒有此庫了,因此有一部分功能只能另想它法了。


 


暫且就只發現這麼多,繼續。




















??

Python影像處理(10):從2.4.11到3.0.0

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.