OpenCV python學習筆記 二

2021-07-27 03:46:58 字數 2928 閱讀 9314

不多說,上**,全在裡面

# -*- coding:utf-8 —*-

import numpy as np

import cv2

# 目標:

# 獲取畫素值並修改

# 獲取影象的資訊

# 影象的rio()

# 圖象通道的拆分及合併

# step1: 獲取影象的資訊

# 讀取 讀入彩色圖和灰度圖

# 獲取資訊

# 影象的資訊包括:行、列、通道、影象資料型別、畫素數目

# print color_img.shape

# #(1050l, 700l, 3l) 代表的意思是:(行、列、通道數)\

# print color_img.size

# #2205000 代表的意思是:*個畫素數

# print color_img.dtype

# #uint8 代表影象的型別,在opencv-python中經常出項資料型別不一致的錯誤,因此該屬性特別重要

#獲取並修改畫素值

# 可以根據畫素的行列座標獲取像數值,對於rgb模式的返回的是r,g,b的值,對於灰度圖則返回灰度值

# 獲取某個點的畫素值

# color_px = color_img[100,100]

# gray_px = gray_img[100,100]

# print color_px, gray_px

# #[199 222 224] 220

# 修改末各點的畫素值

# color_img[100,100] = [255, 255, 255]

# gray_img[100, 100] = 255

# 警告: numpy是經過優化的進行矩陣快速計算運算包,所以不推薦逐個修改畫素值,很慢,所以能用矩陣運算的絕不用迴圈

# 獲得畫素值更好的方法

# 不是很明白??? 好像和numpy有點關係

# print color_img.item(10, 10, 2)

# #190

# color_img.itemset((10, 10, 2), 100)

# print color_img.item(10, 10, 2)

# # 100

# 影象的roi

# roi是使用numpy索引來獲得的

# 作用:對一幅的特定區域進行操作

# 情景:例如在乙個想象中找到人的眼睛,則應該先找到臉,再找眼睛

# 拆分及合併影象通道

# 有時我們需要分別對r、g、b三個通道分別驚醒操作,又是我們則要將乙個地理通道分成bgr

# # 將紅色通道全部變為0

# b = img[:,:,0]

# # 警告:cv2.split() 是乙個比較耗時的操作。只有真正需要時才用它,能用 numpy 索引就盡量用。

# 為影象擴邊(填充)

# 如果你想在影象周圍建立乙個邊,就像相框一樣,你可以使用cv2.copymakeborder() 函式。

# 這經常在卷積運算或 0 填充時被用到。

# 這個函式包括如下引數:

# • src 輸入影象

# • top, bottom, left, right 對應邊界的畫素數目。

# • bordertype 要新增那種型別的邊界,型別如下

# – cv2.border_constant 新增有顏色的常數值邊界,還需要 下乙個引數(value)。

# – cv2.border_reflect邊界元素的映象。比如: fedcba|abcde- fgh|hgfedcb

# – cv2.border_reflect_101orcv2.border_default 跟上面一樣,但稍作改動。

# 例如: gfedcb|abcdefgh|gfedcba

# – cv2.border_replicate重複最後乙個元素。

# 例如: aaaaaa| abcdefgh|hhhhhhh

# – cv2.border_wrap 不知道怎麼說了,

# 就像這樣: cdefgh| abcdefgh|abcdefg

# • value 邊界顏色,如果邊界的型別是 cv2.border_constant

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 影象上的算數運算 目標 學習影象上的算術運算,加法 減法 位運算 主要函式 cv2.add cv2.addweighted 等 import cv2 import numpy as np 影象上的加法 大致有兩種 cv2.add 這是乙個飽和操作 這是num...