Opencv常用函式記錄

2021-09-10 02:23:51 字數 2204 閱讀 4538

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...