import cv2 import numpy as np cv2.nameWindow("gray") img = np.zeros((512, 512), np.uint8) #生成一张空的灰度图像 cv2.line(img, (0, 0), (511, 511), 255, 5) #绘制一条白色直线 cv2.imshow("gray", img) #显示图像 #循环等待,按q键退出 while True: key = cv2.waitKey(1) if key == ord("q"): break cv2.destoryWindow("gray")
# -*- coding: UTF-8 -*- import cv2 import numpy as np img = np.zeros((512, 512), np.uint8) #生成一张空的灰度图像 cv2.line(img, (0, 0), (511, 511), 255, 5) #绘制一条白色直线 cv2.imshow("gray", img) #显示图像 #循环等待,按q键退出 while True: key = cv2.waitKey(1) if key == ord("q"): break cv2.destoryWindow("white")
import cv2 import numpy as np img_gray=cv2.imread('chidalu.jpg',cv2.IMREAD_GRAYSCALE); #image read in grayscale ft=cv2.dft(np.float32(img_gray),flags=cv2.DFT_COMPLEX_OUTPUT); #frequency transform in image ft_shift=np.fft.fftshift(ft); #frequency transform shift row,col=img_gray.shape; #get shape of image mask=np.zeros((row,col,2),np.uint8); #create a mask of image mrow,mcol=int(row/2),int(col/2); mask[mrow-30:mrow+30,mcol-30:mcol+30]=1; ft_shift=mask*ft_shift; #new frequency shift i_ft_shift=np.fft.ifftshift(ft_shift); #find inverse of frequency transform shift i_ft=cv2.idft(i_ft_shift); #find inverse of frequency shift lpf=cv2.magnitude(i_ft[:,:,0],i_ft[:,:,1]); #lowpassfilter cv2.imshow('LowPassFilter',lpf); #Image show if cv2.waitKey(0)&0xFF==ord('q'): cv2.destoryWindow(); #destroy window
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import numpy as np import cv2 image1 = cv2.imread( 'test.png', 0) # 0:grayscale 1:color image(default) -1:unchanged(alpha channel) cv2.imshow('窗口名', image1) #创建窗口并显示图像 cv2.waitKey(0) #暂停,直到按任意键 cv2.destoryAllWindows() #关闭所有窗口 cv2.destoryWindow('窗口名') #关闭指定窗口 cv2.namedWindow( '窗口名', cv2.WINDOW_NORMAL ) #创建一个窗口 cv2.WINDOW_NORMAL:可以缩放 CV2.WINDOW_AUTOSIZE(DEFAULT):不可缩放 cv2.imshow('窗口名', image1) #显示图像 cv2.imwrite('文件名.png', iamge1) #在工作目录保存图片 png格式 ##实例 import numpy as np import cv2 img = cv2.imread('1.png', 0) #打开为灰度图 cv2.imshow('image', img) k = cv2.waitKey(0) #64位系统使用 k = cv2.waitKey(0) & 0xFF if k == 27: #读入ESC后退出 cv2.destoryAllWindows() elif k == ord('s'): #读入s后保存并退出 cv2.imwrite('2.png', img) cv2.destoryAllWindows()
return img def addweighted_img_mask(img, mask, img_value, mask_value, r): print(mask.shape[0]) mask_low = mask.shape[0] mask_row = mask.shape[1] dst = cv2.addWeighted(img[0:mask_low, 0:mask_row], img_value, mask, mask_value, r) #dst = cv2.add(img,mask) img[0:mask_low, 0:mask_row] = dst return img if __name__ == "__main__": img1 = cv2.imread("/home/ly/opencvtest/opencvlearn/image/4n.jpg") img2 = cv2.imread("/home/ly/opencvtest/opencvlearn/image/n4.png") logo = cv2.imread("/home/ly/opencvtest/opencvlearn/image/opencvlogo.png") mianju = cv2.imread("/home/ly/opencvtest/opencvlearn/image/mianju.jpg") mianju = cv2.resize(mianju, (200, 200)) #addimage(img1,img2) dst_mask = add_img_mask(img1, logo) #dst_mianju =add_img_mask(img1,mianju) #cv2.imshow('dst_mianju',dst_mianju) cv2.imshow('dst_mask', dst_mask) dst_addweighted = addweighted_img_mask(img1, logo, 0.3, 0.7, 0) cv2.imshow('dst_addweighted', dst_addweighted) if cv2.waitKey(0) == 27: cv2.destoryWindow(dst_mask) cv2.destoryWindow(dst_addweighted)
# -*- coding:utf-8 -*-' import cv2 face_cascade = cv2.CascadeClassifier( 'haarcascades/haarcascade_frontalface_alt.xml') eye_cascade = cv2.CascadeClassifier('haarcascades/haarcascade_eye.xml') img1 = cv2.imread('33.png') img = cv2.resize(img1, (240, 320), interpolation=cv2.INTER_LINEAR) faces = face_cascade.detectMultiScale(img, 1.2, 2) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, x + h), (255, 0, 0), 2) #用颜色为BGR(255,0,0)粗度为2的线条在img画出识别出的矩型 face_re = img[y:y + h, x:x + w] #抽取出框出的脸部部分,注意顺序y在前 eyes = eye_cascade.detectMultiScale(face_re) #在框出的脸部部分识别眼睛 for (ex, ey, ew, eh) in eyes: cv2.rectangle(face_re, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2) cv2.imshow('img', img) key = cv2.waitKey(0) if key == 27: cv2.destoryWindow('img')