OpenCV 畫素運算

2021-09-24 23:27:32 字數 2198 閱讀 6918

加:cv.add(src1, src2, dst=none, mask=none, dtype=none) 

減:cv.subtract(src1, src2, dst=none, mask=none, dtype=none)

乘:cv.divide(src1, src2, dst=none, scale=none, dtype=none)

除:cv.multiply(src1, src2, dst=none, scale=none, dtype=none):

與:cv.bitwise_and(src1, src2, dst=none, mask=none)

或:cv.bitwise_or(src1, src2, dst=none, mask=none)

非:cv.bitwise_not(src, dst=none, mask=none)

cv.addweighted(src1, alpha, src2, beta, gamma, dst=none, dtype=none)

import cv2 as cv

import numpy as np

# 對兩張影象進行加減乘除(大小相同)

def add_demo(m1, m2):

dst = cv.add(m1, m2) # 加

cv.imshow("add_demo", dst)

def subtract_demo(m1, m2):

dst = cv.subtract(m1, m2) # 減

cv.imshow("subtract_demo", dst)

def divide_demo(m1, m2):

dst = cv.divide(m1, m2)

cv.imshow("divide_demo", dst)

def multiply_demo(m1, m2):

dst = cv.multiply(m1, m2)

cv.imshow("multiply_demo", dst)

# 對影象進行邏輯運算

def and_demo(m1, m2):

b_and = cv.bitwise_and(m1, m2)

cv.imshow("and",b_and)

def or_demo(m1, m2):

b_or = cv.bitwise_or(m1, m2)

cv.imshow("or",b_or)

def not_demo(m1):

b_not = cv.bitwise_not(m1)

cv.imshow("not",b_not)

# 調整影象對比度幾及亮度

def contrast_bright_demo(img, c, b):

h, w, ch = img.shape

blank = np.zeros([h, w, ch], img.dtype)

dest = cv.addweighted(img, c, blank, 1-c, b) # 調整亮度和對比度

效果圖:

opencv畫素操作

1 bit depth 位元數 代表8bite,16bites,32bites,64bites 舉個例子吧 比如說,如 如果你現在建立了乙個儲存 灰度的mat物件,這個影象的大小為寬100,高100,那麼,現在這張 灰度中有10000個畫素點,它每乙個畫素點在記憶體空間所佔的空間大小是8bite,8...

opencv畫素轉換

couresra機器學習課程中的作業題。對海洋中的油汙 黑色 進行標記,替換為紅色。使用opencv開啟,遍歷的畫素值,對畫素值滿足條件 黑色 替換為紅色的畫素值。參考 include stdafx.h include include include using namespace cv using...

OpenCV 畫素訪問

我說說我的理解 srcimage.at j,i 表示的是 j 行 i 列 的這個畫素 srcimage.at point j,i 表示的是 座標 j,i 的畫素12 為了 的圖方便說明 j 換成 x i 換成 y 也就是說 srcimage.at x,y 表示的是 x 行 y 列 的這個畫素 src...