openCv學習記錄4

2021-10-08 16:31:06 字數 2750 閱讀 4659

#必寫的兩個方法

cv.waitkey(0)#不斷重新整理(及存在)

cv.destroyallwindows()#關閉所有窗體加法運算

def add_demo(m1,m2):

dst=cv.add(m1,m2)#通過add方法使兩種**畫素疊加在一起

cv.imshow("add_demo",dst)#顯示

add_demo(src1,src2)#呼叫方法

減除乘運算

#減

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)

#顯示#subtract_demo(src1,src2)

#divide_demo(src1,src2)

multiply_demo(src1,src2)

均值

#均值

def others(m1,m2):

m1=cv.mean(m1)

m2=cv.mean(m2)

print(m1)

print(m2)

均值與分叉

分叉越大,之間的差異性越大,也就是對比度

def others(m1,m2):

m1,dev1=cv.meanstddev(m1)

m2,dev2=cv.meanstddev(m2)

print(m1)#均值

print(m2)

print(dev1)#分叉

print(dev2)

#與

def bitwise_and_demo(m1,m2):

dst =cv.bitwise_and(m1,m2)

cv.imshow("bitwise_and_demo",dst)

bitwise_and_demo(src1,src2)

#或def bitwise_or_demo(m1,m2):

dst =cv.bitwise_or(m1,m2)

cv.imshow("bitwise_or_demo",dst)

bitwise_or_demo(src1,src2)

#非def bitwise_not_demo(m1,m2):

dst =cv.bitwise_not(m1,m2)

cv.imshow("bitwise_not_demo",dst)

bitwise_not_demo(src1,src2)

掩膜(mask)

def extrace_object_demo():

capture=cv.videocapture('c:/users/admin/pictures/sp/ge1.mp4')

while (true):

ret,frame=capture.read()

if ret==false:

break;

hsv=cv.cvtcolor(frame,cv.color_bgr2hsv)

lower_hsv=np.array([0,0,0])#

upper_hsv=np.array([180,255,46])

mask=cv.inrange(hsv,lowerb=lower_hsv,upperb=upper_hsv)

dst= cv.bitwise_and(frame,frame,mask=mask)#利用mask顯示輪廓

cv.imshow("video",frame)

cv.imshow("mask",dst)

c=cv.waitkey(40)

if c==27:

break

亮度與對比度

#影象的亮度與對比度

def contrast_brightness_demo(image,c,b):

h,w,ch=image.shape

#構建乙個空白影象層

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

#addweighted用來將兩個進行融合。

dst=cv.addweighted(image,c,blank,1-c,b)

cv.imshow("con-bri-demo",dst)

contrast_brightness_demo(src1,1.2,10)

學習opencv記錄 三)

include include highgui.h include cv.h 這種訪問操作比cvget系列函式更快,因為不需要入棧出棧,只是通過指標偏移來進行的 int main int argc,char argv cvmat mat cvinitmatheader mat,3,6,cv 32fc...

OpenCV學習記錄5

一 學習內容 1 兩張影象按權重相加 2 兩張影象相乘 應該可用於頻域濾波吧 二 include include using namespace std using namespace cv int main int argc,char ar if src2.data namedwindow fig...

OpenCV學習記錄6

一 學習內容 1 獲取影象座標處的畫素值,並修改圖對比度 二 include include using namespace std using namespace cv int main int argc,char ar char figure name figure1 namedwindow f...