十
影象上的算術運算
常用運算有:加法 減法 位運算
cv2.add()
cv2.addweighted()
函式原型
defadd(src1,
src2,
dst=none,
mask=none,
dtype=none)
defaddweighted(src1,#第乙個原陣列
alpha,#第乙個原陣列的權值
src2,#第二個原陣列
beta,#第二個陣列的權值
gamma,#新增的常數項
dst=none,#輸出陣列
dtype=none)#輸出陣列的可選深度
1 影象加法
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time : 2016/11/14 15:19
# @author : retacn
# @site :
影象的算術運算
# @file : imagearithmetic.py
# @software: pycharm
importcv2
importnumpyasnp
frommatplotlibimportpyplotasplt
x=np.uint8([250])
y=np.uint8([10])
print(cv2.add(x,y))#250+10=260=>255
print(x+y)#250+10=260%256=4
#顯示結果
# [[255]]
#[4]
2 影象混合
計算公式如下:
g(x)=(1-a)f0(x)+af1(x)
使用如下函式進行混合
3 按位與運算
and or not xor
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time : 2016/11/15 8:42
# @author : retacn
# @site :
按位與運算
and or not xor
# @file : imagelogic.py
# @software: pycharm
importcv2
importnumpyasnp
#載入影象
img2=cv2.imread("test.jpg")#建立
roirows,cols,channels=img2.shape
roi=img1[0:rows,0:cols]#建立
mask
img2gray=cv2.cvtcolor(img2,cv2.color_bgr2gray)
ret,mask=cv2.threshold(img2gray,175,255,cv2.thresh_binary)
mask_inv=cv2.bitwise_not(mask)#取
roi中與
mask
中不為零的值對應有畫素數
img1_bg=cv2.bitwise_and(roi,roi,mask=mask)
img2_fg=cv2.bitwise_and(img2,img2,mask=mask_inv)
#roi
合併影象
dst=cv2.add(img1_bg,img2_fg)
img1[0:rows,0:cols]=dst
#顯示影象
cv2.imshow("imagelogic",img1)
cv2.waitkey(0)
cv2.destroyallwindows()
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 import numpy as np import cv2 目標 獲取畫素值並修改 獲取影象的資訊 影象的rio 圖象通道的拆分及合併 step1 獲取影象的資訊 讀取 讀入彩色圖和灰度圖 獲取資訊 影象的資訊包括 行 列 通道 影象資料型別 畫素數目...