pip install opencv-python
使用import cv2
# 獲得影象的形狀,返回值是乙個包含行數,列數,通道數的元組
print(image.shape)
print(image.size)
# 影象的資料型別
print(image.dtype)
# 各引數依次是:**/新增的文字/左上角座標/字型/字型大小/顏色/字型粗細
cv2.puttext(image, "woman", (200, 500), cv2.font_hershey_complex, 7, (0, 0, 255), thickness=10)
# 畫一條藍色的線,起始座標,終點座標,顏色/字型粗細
cv2.line(image, (0, 0), (500, 500), (255, 0, 0), 5)
# 顯示影象,大小為600*600
cv2.imshow("demo", cv2.resize(image, (600, 600)))
# 儲存到本地,儲存大小為600*600
# 0表示一直顯示
cv2.waitkey(0)
# 銷毀所有視窗
cv2.destroyallwindows()
# 畫出灰度圖
plt.show()cv2.cvtcolor 影象空間顏色轉換
opencv預設的imread是以bgr的方式進行儲存的,而matplotlib的imshow預設則是以rgb格式展示
# 本地
image = cv2.imread(image_path)cv2.imdecode()函式從指定的記憶體快取中讀取資料,並把資料轉換(解碼)成影象格式;主要用於從網路傳輸資料中恢復出影象。
在上畫框
cv2.rectangle(img, (i[0], i[1]), (i[2], i[3]), (0, 255, 0), 2)
第乙個引數:img是原圖
第二個引數:(x,y)是矩陣的左上點座標
第三個引數:(x+w,y+h)是矩陣的右下點座標
第四個引數:(0,255,0)是畫線對應的rgb顏色
第五個引數:2是所畫的線的寬度
import cv2
import glob
from core.utils.load_utils import load_image
urls = glob.glob("d:/1/*")
a = [[1065, 762, 1094, 788], [1337, 769, 1376, 800]]
for url in urls:
img = load_image(url) # load_image方法是上面所說轉換為numpy.array格式
for i in a:
cv2.rectangle(img, (i[0], i[1]), (i[2], i[3]), (0, 255, 0), 2)
cv2.imwrite('../data/test1.jpg', img)
rgb顏色值對應顏色
255, 255, 0 黃色
0, 0, 255 藍色
OpenCV常用函式
直接訪問 效率高,但容易出錯 用指標直接訪問 在某些情況下簡單高效 image void operator iplimage img inline t operator const int rowindx typedef struct rgbpixel typedef struct rgbpixel...
opencv常用函式
mat matsrc psrcimg,false 注意 當將引數copydata設為true後,則為深拷貝 複製整個影象資料 iplimage mat iplimage srcimg matsrc 此方法為淺拷貝此方法會額外的建立乙個影象記憶體備份,而非引用。matimg matsrc.clone ...
OpenCV 常用函式
自動分配的緩衝區類,該類為函式和方法分配臨時緩衝區。如果乙個臨時的緩衝區通常是小 幾k的記憶體 但其大小取決於引數,在堆中建立乙個小的固定大小的陣列是有意義的。在opencv的core.hpp裡面有autobuffer 函式,該函式為自動分配一段指定大小的記憶體,並且可以指定記憶體中資料的型別。cv...