python与openCV2的不可不说的关系

本文介绍了如何使用Python和OpenCV2进行图像处理,包括批量重命名和删除文件,显示、保存、截取、翻转、缩放、转换颜色、合并图片以及使用OpenCV2绘图等操作。

今天我们要弄的是关于python与openCV2的使用。
而我们要使用CVopen2的命令,肯定需要各种照片,但是这些照片的命名大多数是杂乱无序的,所以我们要有个前期工作。
一:批量重命名目标文件,批量删除文件。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191101142749447.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NodXhpYW9fc2N4,size_16,color_FFFFFF,t_70在这里插入图片描述
首先将这些图片放到同一个文件夹中,然后利用os系统模块。

#对文件进行批量重命名
import os
path = 'C:/Users/songcx/Desktop/tubao'
filelist = os.listdir(path)#返回该文件夹内的所有文件
i = 0
for file in filelist:
	old = os.path.join(path,file)
	filetype = os.path.splitext(file)[1]#分离文件名和扩展名
	if (filetype=='.jpg'):
		i = i+1;
		new = os.path.join(path,str(i)+filetype)
		os.rename(old,new)
	else:
		continue

效果如图。
在这里插入图片描述准备工作完成后,我们就可以开始了。
二:用openCV2对照片进行各种修改。
1.显示我们想要的图片。

import cv2
one=cv2.imread('C:/Users/songcx/Desktop/tubao/1.jpg')
cv2.imshow('suibian',one)
cv2.waitKey(0)

在这里插入图片描述是不是很好看啊<( ̄▽ ̄)/。
2.保存我们修改后的图片。

#该代码一般不单独使用,和后面的操作结合使用。
import cv2
one=cv2.imread('C:/Users/songcx/Desktop/tubao/1.jpg')
cv2.imwrite('C:/Users/songcx/Desktop/tubao/one.jpg',img)

在这里插入图片描述3.截取部分图片。
终于到正文了,这次我们以图2为例。

import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
bianhua=img[200:400,200:400]#截取200-400行,200-400列的图像
cv2.imshow('wusuoweila',bianhua)
cv2.waitKey(0)

在这里插入图片描述
4.图片翻转。

import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
img1=cv2.flip(img,1)#大于0,左右翻转
img2=cv2.flip(img,0)#等于0,上下翻转
img3=cv2.flip(img,-1)#小于0,先上下翻转再左右翻转
cv2.imshow('text',img)
cv2.imshow('text1',img1)
cv2.imshow('text2',img2)
cv2.imshow('text3',img3)
cv2.waitKey(0)

这里就不给出展示了。
5.缩放图片

import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
img1=cv2.resize(img,(500,500))#设置输出图片的尺寸
img2=cv2.resize(img,None,fx=0.7,fy=0.7)#None指图片尺寸,但我们设置了缩放因子,就无需图片尺寸
cv2.imshow('text',img1)
cv2.imshow('text1',img2)
cv2.waitKey(0)

在这里插入图片描述6.转换图片颜色。

import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/3.jpg')#cv2.imread读进来的图片格式是BGR(W,H,C),而不是RGB
img1=cv2.resize(img,(400,400))
cv2.imshow('BGR',img1)
img2=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)#将BGR转化成灰度图像
cv2.imshow('GRAY',img2)
cv2.imwrite('C:/Users/songcx/Desktop/tubao/Gray.jpg',img2)
cv2.waitKey(0)

在这里插入图片描述
7.在同一个平面插入两张图片。

import cv2
import numpy as np
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
img1=cv2.resize(img,(500,500))
img2=cv2.flip(img1,1)#大于0,左右翻转
img3=np.vstack([img1,img2])#在竖直方向上堆叠
img4=np.hstack([img1,img2])#在水平方向平铺
cv2.imshow('text',img3
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值