OpenCV example
环境配置
安装opencv numpy库
步骤
- 将须处理图片或视频放入该文件夹
- 重命名为 tey.jpg(mp4)
- 运行生成代码将逐帧生成图片
- 后运行合成视频将逐帧图片生成视频
简单效果


get_ipython().system('ls /home/aistudio/data')
get_ipython().system('ls /home/aistudio/work')
get_ipython().system('mkdir /home/aistudio/external-libraries')
get_ipython().system('pip install beautifulsoup4 -t /home/aistudio/external-libraries')
import sys
sys.path.append('/home/aistudio/external-libraries')
import numpy as np
import cv2
cap = cv2.VideoCapture("data/tey.mp4")
i = 1
while(cap.isOpened):
ret,img = cap.read()
imgsize = img.shape
height = imgsize[0]
width = imgsize[1]
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
inv = np.zeros((height,width,1),np.uint8)
for x in range(0,height):
for y in range(0,width):
gar = gray[x,y]
inv[x,y] = 255 - gar
blur = cv2.GaussianBlur(inv,(21,21),0)
dst = cv2.addWeighted(gray,0.5,blur,0.5,0)
a,dst1= cv2.threshold(dst,125,255,1)
for x in range(0,height):
for y in range(0,width):
gar1 = dst1[x,y]
dst1[x,y] = 255 - gar1
if dst1[x,y] == 255:
dst1[x,y] = 240
if dst1[x,y] == 0:
dst1[x,y] = 30
dst1= cv2.GaussianBlur(dst1,(5,5),0)
cv2.imwrite("%d.jpg"%i,dst1)
print("第%d帧"%i)
i+=1
cap.release()
print("ok")
import cv2
fps = 30
fourcc = cv2.VideoWriter_fourcc('M','J','P','G')
videoWriter = cv2.VideoWriter('dst.avi', fourcc, fps, (1920,1080))
for i in range(1,1249):
img= cv2.imread('%d.jpg'%i)
videoWriter.write(img)
videoWriter.release()
import cv2
import numpy as np
img = cv2.imread("data/tey.jpg",1)
imgsize = img.shape
height = imgsize[0]
width = imgsize[1]
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
inv = np.zeros((height,width,1),np.uint8)
for x in range(0,height):
for y in range(0,width):
gar = gray[x,y]
inv[x,y] = 255 - gar
blur = cv2.GaussianBlur(inv,(21,21),0)
dst = cv2.addWeighted(gray,0.5,blur,0.5,0)
a,dst1= cv2.threshold(dst,125,255,1)
for x in range(0,height):
for y in range(0,width):
gar1 = dst1[x,y]
dst1[x,y] = 255 - gar1
if dst1[x,y] == 255:
dst1[x,y] = 240
if dst1[x,y] == 0:
dst1[x,y] = 30
dst1= cv2.GaussianBlur(dst1,(5,5),0)
cv2.imshow("img",img)
cv2.imshow("gray",gray)
cv2.imshow("inv",inv)
cv2.imshow("blur",blur)
cv2.imshow("dst",dst)
cv2.imshow("dst1",dst1)
cv2.imwrite("dst.jpg",dst1)
cv2.waitKey(0)
cv2.destroyAllWindows()