【图像学习之 视频转素描】

视频转素描

线程部分代码可以忽略

# -*- coding:utf-8 -*-
import cv2
from PIL import Image, ImageOps, ImageFilter
import numpy
from threading import Thread  # 创建线程的模块


# 透明度转换  素描转换的一部分
def dodge(a, b, alpha):
    # alpha为图片透明度
    return min(int(a * 255 / (256 - b * alpha)), 255)

# 图片转换为素描
def toSketchStyle(img, blur=25, alpha=1.0):
    # image = Image.fromarray()

    imagegry = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    image_inver = ~imagegry
    cv2.imshow("imagegry",imagegry)
    image = cv2.GaussianBlur(image_inver,(15,15),50,50)
    des = cv2.divide(imagegry, 255-image,scale=255);
    # 将文件转成灰色
    cv2.imshow("OpenCV",des)


# 获取摄像头0表示第一个摄像头
cap = cv2.VideoCapture("img\MVI_1421.MP4")
while (1):  # 逐帧显示
    ret, img = cap.read()
    cv2.imshow("Image", img)


    # 开启线程  参数1:方法名(不要带括号)   参数2:参数(元祖)      返回对象
    # p = Thread(target=toSketchStyle, args=(img))
    # p.start()  # 只是给操作系统发送了一个就绪信号,并不是执行。操作系统接收信号后安排cpu运行

    toSketchStyle(img)
    if cv2.waitKey(10) & 0xFF == ord('q'):
        break
cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 释放窗口资源
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值