图像处理软件之一,有很多,学校用matlab较多,但是本人不太喜欢,不过这个和matlab差不多,都是调用的第三方库CV库
但是在pythcharm中也可以,函数都是一样的,差不多
#C++命名规范
import cv2
#autosize 自动大小,不允许修改大小
cv2.namedWindow('window',cv2.WINDOW_NORMAL)
cv2.resizeWindow('window',400,500)
cv2.imshow('window',0)
#可以返回按键的ASCII的值
#0表示接受任意按键,整数表示等待时间(毫秒)
#可以利用它来销毁窗口,不用每次重启python
#ord是python中计算ascii的函数 ord('q')
#按键退出--a
key = cv2.waitKey(0)
#int型是16位的,,axcii是8位的,后八位进行比较
if key & 0xFF == ord('a'):
print('准备销毁窗口')
cv2.destroyAllWindows()
按a退出窗口
import cv2
import matplotlib.pyplot as plt
#当前目录下的文件
cat = cv2.imread('./cat.png')
plt.imshow(cat)
#CV读取是 BGR读取的
cv2.imshow('cat',cat)
key = cv2.waitKey(0)
if key & 0xFF == ord('a'):
print('准备销毁窗口')
cv2.destroyAllWindows()
import cv2
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.resizeWindow('img',400,500)
img = cv2.imread('./pic/cat.png')
while True:
cv2.imshow('img',img)
key = cv2.waitKey(0)
if key == ord('a'):
break
elif key == ord('s'):
cv2.imwrite('./pic/cat2.png',img)
cv2.destroyAllWindows()
#打开摄像头
import cv2
cv2.namedWindow('vio',cv2.WINDOW_NORMAL)
cv2.resizeWindow('vio',680,700)
cap = cv2.VideoCapture(0)
#循环读取
while True:
ret,frame = cap.read()
if not ret:
break
#显示
cv2.imshow('vio',frame)
key = cv2.waitKey(5)
if key == ord('a'):
break
#释放资源
cap.release()
cv2.destroyAllWindows()
import cv2
import numpy as np
#参数必须是5个
#event事件,X,Y,坐标,flags,(组合按键),
def mouse_callback(event,x,y,flags,userdata):
print(event,x,y,flags,userdata)
#点击退出
if event == 2:
cv2.destroyAllWindows()
cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)
cv2.setMouseCallback('mouse',mouse_callback,'123')
img = np.zeros((360,640,3),np.uint8)
while True:
cv2.imshow('mouse',img)
key = cv2.waitKey(1)
if key == ord('a'):
break
import cv2
import numpy as np
cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)
def callback(value):
pass
#创建tracker
cv2.createTrackbar('R', 'trackbar',0,255,callback)
cv2.createTrackbar('G', 'trackbar',0,255,callback)
cv2.createTrackbar('B', 'trackbar',0,255,callback)
img = np.zeros((480,640,3),np.uint8)
while True:
#获取当前的值
r = cv2.getTrackbarPos('R','trackbar')
g = cv2.getTrackbarPos('G','trackbar')
b = cv2.getTrackbarPos('B','trackbar')
#改变背景颜色
img[:] = [b,g,r]
cv2.imshow('trackbar',img)
key = cv2.waitKey(0)
if key == ord('a'):
cv2.destroyAllWindows()
入门篇,后续还会退出更多的。欢迎关注,指正,共同学习,进步。