import cv2
from matplotlib import pyplot as plt
#########图像读取与保存##########
#图像读取
img = cv2.imread('aa.jpg')
#图片保存
cv2.imwrite('aa.jpg',img)
###############图像显示#############
#基本显示
plt.imshow(img)
plt.show()
#调整图片大小
img1 = cv2.imread('aa.jpg')
plt.figure(figsize=(8,8))
plt.imshow(img1)
plt.show()
#设置坐标轴标签
plt.xlabel('x')
plt.xlabel('y')
#显示子图[在一个窗口中表示(121表示1行2列1号)]
plt.subplot(121)
plt.imshow(img1)
plt.subplot(122)
plt.imshow(img1)
plt.show()
#设置图标题
plt.title()
#设置坐标轴范围
plt.xlim(0,1111)
plt.ylim(1111,0)
#显示色彩对照表
plt.colorbar()
#显示风格设置(参数为各种风格)
plt.style.use('seaborn-whiterid')
#######图像格式转换##########
#BGR转为灰度图
cv2.cvtColor(img,cv2.COLOR_BGR2BGRA)
#RGB转为BGR
cv2.cvtColor(img,cv2.COLOR_BGR2BGR)
#RGB转为HSV
cv2.cvtColor(img,cv2.COLOR_RGB2HSV)
#BGR转为HLS
cv2.cvtColor(img,cv2.COLOR_RGB2HLS)
########图像缩放、旋转与通道拆分#############
#图像缩放[缩放为(600,600)](与numpy相反)
cv2.resize(img,dsize=(600,600))
#图像翻转
cv2.flip(img,flipCode=0)#以x轴对称
cv2.flip(img,flipCode=0)#以y轴对称
cv2.flip(img,flipCode=0)#以x轴与y轴对称
#通道拆分(opencv读取图片时默认使用通道顺序为BGR,因此在通道拆分时顺序为B,G,R)
rgb = cv2.imread('a.png')
B,G,R=cv2.split(rgb)
plt.imshow(R)
plt.imshow(G)
plt.imshow(B)
#通道重组(matlplotlib默认通道顺序为RGB)
pltt.imshow(cv2.merge([R,G,B]))
#图像旋转
M = cv2.getRotationMatrix2Da(((cols-1)/2.0,(rows-1)/2.0),45,0.75)#旋转的中心位置坐标:((cols-1/2.0),(rows-1)/2.0),顺时针旋转45度,图片比例缩放为原来的0.75
dst = cv2.warpAffine(rgb,M,(cols,rows))
plt.imshow(dst)
########直方图均衡化#####
B,G,R = cv2.split(rgb)
R2 = cv2.rqualizHist(R)
G2 = cv2.rqualizHist(G)
B2 = cv2.rqualizHist(B)
plt.imshow(cv2.merge([R2,G2,B2]))
#边缘检测
cv2.Canny(image,threshold1,threshold1shold2)
#imgage:像素矩阵
#threshold1,2阈值1,2
TensorFlow编程基础3(小白笔记)(图像处理基础)
最新推荐文章于 2024-10-20 20:54:12 发布