OpenCV python 學習筆記 四

2021-07-27 04:55:16 字數 1374 閱讀 3880

# -*-coding:utf-8

# 使用opencv檢測程式效率

# 兩個函式:

# cv2.gettickcount():返回從參考點到這個函式被執行的時鐘數

# cv2.gettickfrequency():返回時鐘頻率

import cv2

import numpy as np

# # 使用範例 獲得函式執行時間

# e1 = cv2.gettickcount() # 執行開始時間(我的理解)

# # 所要執行的**

# e2 = cv2.gettickcount() # 之行結束時間(我的理解)

# time = (e2-e1)/cv2.gettickfrequency() # 得到函式執行時間

# 除了這種方法,還可以通過time.time()來獲得函式執行的時間

# opencv中的預設優化

# opencv中許多函式是優化過的,也有一些是沒有優化的,如果我們的編譯系統的是支援優化的話,

# 那麼在編譯的時候就會優化,可以通過cv2.useoptimized來檢視優化是否開啟,若沒有開啟,則可以

# 通過cv2.setuseoptimized()來開啟

# 預設

# print cv2.useoptimized()

# # 關閉

# cv2.setuseoptimized(false)

# print cv2.useoptimized()

# # 開啟

# cv2.setuseoptimized(true)

# print cv2.useoptimized()

# 結果:

# true

# false

# true

# 效率優化技術有些技術和程式設計方法可以讓我們最大的發揮 python 和 numpy 的威力。

# 首先用簡單的方式實現你的演算法(結果正確最重要),當結 果正確後,再使用上面的提到的方法

# 找到程式的瓶頸來優化它。

# 1. 盡量避免使用迴圈,尤其雙層三層迴圈,它們天生就是非常慢的。

# 2. 演算法中盡量使用向量操作,因為 numpy 和 opencv 都對向量操作進行 了優化。

# 3. 利用快取記憶體一致性。

# 4. 沒有必要的話就不要複製陣列。使用檢視來代替複製。陣列複製是非常浪費資源的。

# 就算進行了上述優化,如果你的程式還是很慢,或者說大的訓話不可避免的話, 你你應該嘗試使用其他的包,

# 比如說 cython,來加速你的程式。

opencv python學習筆記八

十 影象上的算術運算 常用運算有 加法 減法 位運算 cv2.add cv2.addweighted 函式原型 defadd src1,src2,dst none,mask none,dtype none defaddweighted src1,第乙個原陣列 alpha,第乙個原陣列的權值 src2...

opencv python學習筆記十一

14 幾何變換 移動,旋轉 仿射變換 常用函式 cv2.getperspectivetransform 函式原型 defgetperspectivetransform src,dst cv2.warpaffine 函式原型,接收 2 3的矩陣 defwarpaffine src,輸入源影象 m,透視...

OpenCV python學習筆記 二

不多說,上 全在裡面 coding utf 8 import numpy as np import cv2 目標 獲取畫素值並修改 獲取影象的資訊 影象的rio 圖象通道的拆分及合併 step1 獲取影象的資訊 讀取 讀入彩色圖和灰度圖 獲取資訊 影象的資訊包括 行 列 通道 影象資料型別 畫素數目...