畫素計算 (OpenCV Python)

2021-10-05 22:39:31 字數 3045 閱讀 5638

1. 畫素的算術運算

輸入影象的大小,和型別要完全一致

import cv2 as cv

defadd_demo

(m1,m2)

:#畫素得到加運算

dst = cv.add(m1,m2)

cv.imshow(

"add_demo"

,dst)

defsubtract_demo

(m1,m2)

:#畫素的減運算

dst = cv.subtract(m1,m2)

cv.imshow(

"subtract_demo"

,dst)

defmultiply_demo

(m1,m2)

:#畫素的乘法運算

dst = cv.multiply(m1,m2)

cv.imshow(

"multiply_demo"

,dst)

defdivide_demo

(m1,m2)

:#畫素的除法運算

2.畫素的邏輯運算

import cv2 as cv

defand_demo

(m1, m2)

:#與運算 每個畫素點每個通道的值按位與

dst = cv.bitwise_and(m1, m2)

cv.imshow(

"and_demo"

, dst)

defor_demo

(m1, m2)

:#或運算 每個畫素點每個通道的值按位或

dst = cv.bitwise_or(m1, m2)

cv.imshow(

"or_demo"

, dst)

defnot_demo

(m1)

:#非運算 每個畫素點每個通道的值按位取反

3.調節對比度和亮度

import cv2 as cv

import numpy as np

defcontrast_brightness_image

(imag1,ratio,b)

:#ratio對比度,b亮度

h,w,ch = imag1.shape #ratio對比度,b亮度

imag2 = np.zeros(

[h,w,ch]

,imag1.dtype)

#新建一張全黑的和imag1的shape型別一樣,元素型別也一樣

函式addweighted的原型:addweighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) -> dst

src1表示需要加權的第乙個陣列(上述例子就是影象矩陣)

alpha表示第乙個陣列的權重

src2表示第二個陣列(和第乙個陣列必須大小型別相同)

beta表示第二個陣列的權重

gamma表示乙個加到權重總和上的標量值

畫素密度計算

為解決android裝置碎片化,引入乙個概念density,也就是密度.它指的是在一定尺寸的物理螢幕上顯示畫素的數量,一般使用dpi dots per inch,每英吋畫素數 作為單位.比如裝置解析度為240x320,螢幕物理尺寸為1.5英吋x2英吋 對角線為2.5 它的密度可以用解析度 尺寸表示 ...

人臉檢測原理及示例 OpenCV Python

opencv是intel開源計算機視覺庫 computerversion 它由一系列c函式和少量 c 類構成,實現了影象處理和計算機視覺方面的很多通用演算法。opencv 擁有包括 300 多個c函式的跨平台的中 高層 api。它不依賴於其它的外部庫 儘管也可以使用某些外部庫。opencv 對非商業...

c 計算空格寬度畫素 c 獲得文字的畫素寬度

graphics graphics creategraphics sizef sizef graphics.measurestring textbox1.text,new font 宋體 9 messagebox.show string.format 字型寬度 高度 sizef.width,size...