1.调用cv2.的时候,不显示函数:
(pycharm)解决cv2中不会提示成员函数/函数不可点击进去的问题。
2.读取图片
#读取图片
import numpy as np#读取的格式是BGR,其他的工具包可能不是这个格式,需要转换
import matplotlib.pyplot as plt
import cv2
img=cv2.imread("D:\\PythonProject_Class\\test_Data\\cat.png")#加了cv2.IMREAD_GRAYSCALE就是灰度图
#print(img) #输出矩阵
#print(img.shape)#图像的高,宽,通道数
print(type(img))#<class 'numpy.ndarray'>
print(img.size)#像素点个数750000
print(img.dtype)#数据类型uint8
cv2.imshow('image',img)#显示
#cv2.imwrite("cat1.png",img)#保存
cv2.waitKey(0)#0:无限等待,else:(ms),按任意键终止
cv2.destroyAllWindows()
3.读取视频
#读取视频
import numpy as np#读取的格式是BGR,其他的工具包可能不是这个格式,需要转换
import matplotlib.pyplot as plt
import cv2
vc=cv2.VideoCapture("D:\\PythonProject_Class\\test_Data\\video1.mp4")
if vc.isOpened():
open,frame=vc.read()#open是bool类型,frame是每一帧的图像
else:
open=False
while open:
ret,frame=vc.read()
if frame is None:#读完了,跳出循环
break
if ret==True:
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#转换为灰度图
cv2.imshow("result",gray)
if cv2.waitKey(20) & 0xFF==27:#cv2.waitKey(20)里面的参数越小,视频越快
break
vc.release()
cv2.destroyAllWindows()
4.截取图片
#截取图片
import numpy as np#读取的格式是BGR,其他的工具包可能不是这个格式,需要转换
import matplotlib.pyplot as plt
import cv2
img=cv2.imread("D:\\PythonProject_Class\\test_Data\\cat.png")
print(img.shape)#切片不能超过这个范围
cat=img[200:500,200:500]
cv2.imshow('image',cat)#显示
cv2.waitKey(0)
cv2.destroyAllWindows()
5.颜色通道提取
#颜色通道提取
import numpy as np#读取的格式是BGR,其他的工具包可能不是这个格式,需要转换
import matplotlib.pyplot as plt
import cv2
img=cv2.imread("D:\\PythonProject_Class\\test_Data\\cat.png")
b,g,r=cv2.split(img)#看代码的第二行注释,读取的格式是BGR
#print(b)
#print(g)
#print(r)
img=cv2.merge((b,g,r))#传入的顺序也得按照BGR
cv2.imshow('image',img)#显示
cv2.waitKey(0)
cv2.destroyAllWindows()