不多說,上**,全在裡面
# -*- 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...