1 图像IO操作的API
读取图像:cv2.imread(‘image/bus.jpg’)
显示图像:cv2.imshow
保存图像:cv2.imwrite
import cv2
import matplotlib.pyplot
img=cv2.imread('image/bus.jpg',0)
matplotlib.pyplot.imshow(img,cmap=matplotlib.pyplot.cm.gray)
matplotlib.pyplot.show()
t=cv2.imwrite('image/busread.png',img)
print(t)
2 在图像上绘制几何图像
绘制直线:cv2.line
绘制圆形:cv2.circle
绘制矩形:cv2.rectangle
图像上面添加文字:cv2.putText
import numpy
import cv2
import matplotlib.pyplot
img=numpy.zeros((512,512,3),numpy.uint8)
cv2.line(img,(0,0),(511,511),(255,0,0),5)
cv2.circle(img,(256,256),60,(0,0,255),4)
cv2.rectangle(img,(100,100),(400,400),(0,255,0),5)
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(100,500),font,4,(255,255,255),2,cv2.LINE_AA)
matplotlib.pyplot.imshow(img[:,:,::-1])
matplotlib.pyplot.show()
3 直接使用行列索引获取图像中的像素并进行修改
4 图像的属性
形状:img.shape
图像大小:img.size,
数据类型:img.dtype
import cv2
import matplotlib.pyplot as plt
img=np.zeros((256,256,3),np.uint8)
px=img[100,100]
blue=img[100,100,0]
print(img.shape,img.size,img.dtype)
5 通道
拆分通道:cv.split()
通道合并:cv.merge()
2.6 色彩空间的改变
cv.cvtColor[input_image,flag]
b,g,r=cv2.split(img)
img2=cv2.merge((b,g,r))
plt.imshow(img2[:,:,::-1])
plt.show()
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
plt.imshow(gray,cmap=plt.cm.gray)
plt.show()
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
plt.imshow(hsv)
plt.show()
Original: https://blog.csdn.net/qq_41596734/article/details/122327367
Author: 是美好啊
Title: 3 图像处理总结
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/645863/
转载文章受原作者版权保护。转载请注明原作者出处!