#必寫的兩個方法
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...