opencv的常見示例

2022-09-13 13:21:09 字數 2080 閱讀 7057

#opencv是將開啟為numpy array的形式

#pil是將開啟為pil.image的形式

#的讀取、分割以及儲存

import cv2

img = cv2.imread('test.png')

im_height, im_width, im_dep = img.shape

img_size = img.size #返回影象的畫素數目,高*寬*深度

#影象常用變換

#色彩空間的變換

import cv2

img = cv2.imread('test.png')

gray = cv2.cvtcolor(img, cv2.color_bgr2gray)

cv2.imshow("image",gray)

cv2.waitkey(0)

#影象的二值化

threshold = 155

_, binary_image = cv2.threshold(gray, threshold, 255, cv2.thresh_binary) # 將灰度轉為二值影象

cv2.imshow("image",binary_image)

cv2.waitkey(0)

#影象的旋轉

img = cv2.imread('test.png')

width, height, depth = img.shape

angle = 60

scale = 1

m = cv2.getrotationmatrix2d((width/2, height/2), angle, scale)

# m為旋轉矩陣,第乙個引數是設定旋轉中心,第二個引數是旋轉角度(單位是度,逆時針為正),第三個引數是縮放比例

ratation = cv2.warpaffine(img, m, (width, height))

cv2.imshow('image',ratation)

cv2.waitkey(0)

#影象的縮放

img = cv2.imread('test.png')

re_resize = cv2.resize(img, (600, 800), interpolation=cv2.inter_nearest)

cv2.imshow('image', re_resize)

cv2.waitkey(0)

#繪製輪廓函式drawcontours

imm = cv2.drawcontours(img, contours, -1, (100, 0, 0), 3) #將所有輪廓全都繪製到image上

#cv2.drawcontours(image, [contours[1]], -1, (255, 0, 0), 3)

# cv2.imshow('image', imm)

# cv2.waitkey(0)

#計算輪廓包圍區域面積、行心

area = cv2.contourarea(contours[1])

m = cv2.moments(contours[1])

cx = m['m10'] / m['m00']

cy = m['m01'] / m['m00']

print(cx,cy)

#在影象上繪製矩形框(目標檢測),和新增文字

import cv2

img = cv2.imread('test.png')

cv2.rectangle(img,(20,20),(60,60),(55,255,155),1) #引數:,左上角,右上角,線的顏色,線的粗細

opencv示例程式

工欲善其事必先利其器,首先當然是配置環境安裝軟體啦。我安裝的vs2012 opencv2.48以及opencv3.0。具體安裝步驟按照淺墨大神的部落格進行即可 include opencv簡單程式標配標頭檔案 using namespace cv 使用cv命名空間 void main 命名空間 op...

PIL的常見示例

opencv是將開啟為numpy array的形式 pil是將開啟為pil.image的形式 from pil import imagecolor 顏色與rgba值 print imagecolor.getcolor red rgba print imagecolor.getcolor black ...

opencv常見操作

cv2.resize 傳的大小是寬高不是高寬,是 width,height 不是 height,width 影象座標和python numpy矩陣 opencv關於影象座標和numpy 陣列關於同樣位置座標問題。在opencv中,以左上角為起點,向右是x座標,向下是y座標,而在numpy中,向右是列...