精华内容
参与话题
问答
  • python 实现手机投屏

    万次阅读 2020-04-17 12:09:12
    https://github.com/Genymobile/scrcpy

    https://github.com/Genymobile/scrcpy

    展开全文
  • Python实现五子棋小游戏

    千人学习 2019-05-31 18:34:18
    Python教你实现五子棋小游戏,运用二维列表保存游戏状态,结合pygame的image模块的图像处理、以及pygame的事件处理机制来开发五子棋游戏
  • 利用Python实现推流直播详解

    万次阅读 2020-03-15 10:11:53
    https://blog.csdn.net/Mind_programmonkey/article/details/102732555
    https://blog.csdn.net/Mind_programmonkey/article/details/102732555
    
    https://blog.csdn.net/u014303844/article/details/80394101?utm_source=blogxgwz1
    
    四、RTMP Client
    RTMP客户端使用videojs实现了在浏览器中的展示,demo如下
    https://blog.csdn.net/steveyg/article/details/86488706
    

    RTMP客户端使用python
    https://www.cnblogs.com/sirxy/p/12126383.html

    import cv2
    import threading
    import time
    import win32gui,win32con
    
    
    class Producer(threading.Thread):
        """docstring for Producer"""
    
        def __init__(self, rtmp_str):
    
            super(Producer, self).__init__()
    
            self.rtmp_str = rtmp_str
    
            # 通过cv2中的类获取视频流操作对象cap
            self.cap = cv2.VideoCapture(self.rtmp_str)
    
            # 调用cv2方法获取cap的视频帧(帧:每秒多少张图片)
            # fps = self.cap.get(cv2.CAP_PROP_FPS)
            self.fps = self.cap.get(cv2.CAP_PROP_FPS)
            print(self.fps)
    
            # 获取cap视频流的每帧大小
            self.width = int(self.cap.get(cv2.CAP_PROP_FRAME_WIDTH))
            self.height = int(self.cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
            self.size = (self.width, self.height)
            print(self.size)
    
            # 定义编码格式mpge-4
            self.fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
    
            # 定义视频文件输入对象
            self.outVideo = cv2.VideoWriter('saveDir1.avi', self.fourcc, self.fps, self.size)
    
        def run(self):
    
            print('in producer')
    
            ret, image = self.cap.read()
    
            while ret:
                # if ret == True:
    
                self.outVideo.write(image)
    
                cv2.imshow('video', image)
    
                cv2.waitKey(int(1000 / int(self.fps)))  # 延迟
    
                if cv2.waitKey(1) & 0xFF == ord('q'):
    
                    self.outVideo.release()
    
                    self.cap.release()
    
                    cv2.destroyAllWindows()
    
                    break
    
                ret, image = self.cap.read()
    
    
    if __name__ == '__main__':
    
        print('run program')
        # rtmp_str = 'rtmp://live.hkstv.hk.lxdns.com/live/hks'  # 经测试,已不能用。可以尝试下面两个。
        # rtmp_str = 'rtmp://media3.scctv.net/live/scctv_800'  # CCTV
        rtmp_str = 'rtmp://58.200.131.2:1935/livetv/hunantv'  # 湖南卫视
    
        producer = Producer(rtmp_str)  # 开个线程
        producer.start()
    

    rtmp原理
    https://blog.csdn.net/wishfly/article/details/52965787

    展开全文
  • Python实现淘宝秒杀功能

    千次阅读 2019-03-25 16:29:43
    需要下载火狐浏览器 需要安装的库以及需要配置的环境变量参考这个链接...注意:不要copy这个链接的代码,是行不通的,只需要参考该链接geckodriver环境变量的配置操作 ...

    需要下载火狐浏览器

    需要安装的库以及需要配置的环境变量参考这个链接(https://blog.csdn.net/hc372893308/article/details/83305136)

    注意:不要copy这个链接的代码,是行不通的,只需要参考该链接geckodriver环境变量的配置操作

    geckodriver免费下载地址选择合适自己电脑版本下载(https://github.com/mozilla/geckodriver/releases)

    import os
    from selenium import webdriver
    import datetime
    import time
    from os import path
    from selenium.webdriver.common.action_chains import ActionChains
    
    d = path.dirname(__file__)
    abspath = path.abspath(d)
    
    driver = webdriver.Firefox()
    driver.maximize_window()
    
    def login():
        # 打开淘宝登录页,并进行扫码登录
        driver.get("https://www.taobao.com")
        time.sleep(3)
        if driver.find_element_by_link_text("亲,请登录"):
            driver.find_element_by_link_text("亲,请登录").click()
    
        print("请在10秒内完成扫码")
        time.sleep(10)
        driver.get("") # 这里写你需要抢购商品的链接地址
    
        time.sleep(1)
    
    def buy(buytime):
        while True:
            now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
            if now > buytime:
                driver.find_element_by_link_text("立即购买").click()
                break;
            time.sleep(0.1)
        while True:
            try:
                if driver.find_element_by_link_text("提交订单"):
                    driver.find_element_by_link_text("提交订单").click()
            except:
                time.sleep(1)
            print(now)
            time.sleep(0.1)
    
    if __name__ == "__main__":
        #  times = input("请输入抢购时间:")
        # 时间格式:"2018-09-06 11:20:00.000000"
        login()
        buy("2019-03-01 00:00:00.000000") #这里设置你需要抢购商品的时间
    

    以上就是我给大家推荐的代码,如有不足希望多多指正!

    展开全文
  • Python实现5毛钱特效

    万次阅读 多人点赞 2020-04-16 17:19:43
    请务必看到最后。Python牛已经不是一天两天的事了,但是我开始也没想到,Python能这么牛。

    一、前言

    请务必看到最后。Python牛已经不是一天两天的事了,但是我开始也没想到,Python能这么牛。前段时间接触了一个批量抠图的模型库,而后在一些视频中找到灵感,觉得应该可以通过抠图的方式,给视频换一个不同的场景,于是就有了今天的文章。

    我们先看看能实现什么效果,先来个正常版的,先看看原场景:在这里插入图片描述
    下面是我们切换场景后的样子:
    在这里插入图片描述
    看起来效果还是不错的,有了这个我们就可以随意切换场景,坟头蹦迪不是梦。另外,我们再来看看另外一种效果,相比之下要狂放许多:
    在这里插入图片描述
    光理论是不够的,在此送大家一套2020最新Python全栈项目视频教程,点击此处 进来获取 跟着练习下,希望大家一起进步哦!

    二、实现步骤

    我们都知道,视频是有一帧一帧的画面组成的,每一帧都是一张图片,我们要实现对视频的修改就需要对视屏中每一帧画面进行修改。所以在最开始,我们需要获取视频每一帧画面。

    在我们获取帧之后,需要抠取画面中的人物。

    抠取人物之后,就需要读取我们的场景图片了,在上面的例子中背景都是静态的,所以我们只需要读取一次场景。在读取场景之后我们切换每一帧画面的场景,并写入新的视频。

    这时候我们只是生成了一个视频,我们还需要添加音频。而音频就是我们的原视频中的音频,我们读取音频,并给新视频设置音频就好了。

    具体步骤如下:

    1. 读取视频,获取每一帧画面
    2. 批量抠图
    3. 读取场景图片
    4. 对每一帧画面进行场景切换
    5. 写入视频
    6. 读取原视频的音频
    7. 给新视频设置音频

    因为上面的步骤还是比较耗时的,所以我在视频完成后通过邮箱发送通知,告诉我视频制作完成。

    三、模块安装

    我们需要使用到的模块主要有如下几个:

    pillow
    opencv
    moviepy
    paddlehub
    

    我们都可以直接用pip安装:

    pip install pillow
    pip install opencv-python
    pip install moviepy
    

    其中OpenCV有一些适配问题,建议选取3.0以上版本。

    在我们使用paddlehub之前,我们需要安装paddlepaddle:具体安装步骤可以参见官网。用paddlehub抠图参考:别再自己抠图了,Python用5行代码实现批量抠图。我们这里直接用pip安装cpu版本的:

    # 安装paddlepaddle
    python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
    # 安装paddlehub
    pip install -i https://mirror.baidu.com/pypi/simple paddlehub
    

    有了这些准备工作就可以开始我们功能的实现了。

    四、具体实现

    我们导入如下包:

    import cv2	# opencv
    import mail	# 自定义包,用于发邮件
    import math
    import numpy as np
    from PIL import Image	# pillow
    import paddlehub as hub
    from moviepy.editor import *
    

    其中Pillow和opencv导入的名称不太一样,还有就是我自定义的mail模块。另外我们还要先准备一些路径:

    # 当前项目根目录,系统自动获取当前目录
    BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "."))
    # 每一帧画面保存的地址
    frame_path = BASE_DIR + '\\frames\\'
    # 抠好的图片位置
    humanseg_path = BASE_DIR + '\\humanseg_output\\'
    # 最终视频的保存路径
    output_video = BASE_DIR + '\\result.mp4'
    

    接下来我们按照上面说的步骤一个一个实现。

    (1)读取视频,获取每一帧画面

    在OpenCV中提供了读取帧的函数,我们只需要使用VideoCapture类读取视频,然后调用read函数读取帧,read方法返回两个参数,ret为是否有下一帧,frame为当前帧的ndarray对象。完整代码如下:

    def getFrame(video_name, save_path):
        """
        读取视频将视频逐帧保存为图片,并返回视频的分辨率size和帧率fps
        :param video_name: 视频的名称
        :param save_path: 保存的路径
        :return: fps帧率,size分辨率
        """
        # 读取视频
        video = cv2.VideoCapture(video_name)
    
        # 获取视频帧率
        fps = video.get(cv2.CAP_PROP_FPS)
        # 获取画面大小
        width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
        height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
        size = (width, height)
    
        # 🦍获取帧数,用于给图片命名
        frame_num = str(video.get(7))
        name = int(math.pow(10, len(frame_num)))
    	# 读取帧,ret为是否还有下一帧,frame为当前帧的ndarray对象
        ret, frame = video.read()
        while ret:
            cv2.imwrite(save_path + str(name) + '.jpg', frame)
            ret, frame = video.read()
            name += 1
        video.release()
        return fps, size
    

    在标🦍处,我获取了帧的总数,然后通过如下公式获取比帧数大的整十整百的数:

    frame_name = math.pow(10, len(frame_num))
    

    这样做是为了让画面逐帧排序,这样读取的时候就不会乱。另外我们获取了视频的帧率和分辨率,这两个参数在我们创建视频时需要用到。这里需要注意的是opencv3.0以下版本获取帧率和画面大小的写法有些许差别。

    (2)批量抠图

    批量抠图需要用到paddlehub中的模型库,代码很简单,这里就不多说了:

    def getHumanseg(frames):
        """
        对帧图片进行批量抠图
        :param frames: 帧的路径
        :return:
        """
        # 加载模型库
        humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')
        # 准备文件列表
        files = [frames + i for i in os.listdir(frames)]
        # 抠图
        humanseg.segmentation(data={'image': files})
    

    我们执行上面函数后会在项目下生成一个humanseg_output目录,抠好的图片就在里面。

    (3)读取场景图片

    这也是简单的图片读取,我们使用pillow中的Image对象:

    def readBg(bgname, size):
        """
        读取背景图片,并修改尺寸
        :param bgname: 背景图片名称
        :param size: 视频分辨率
        :return: Image对象
        """
        im = Image.open(bgname)
        return im.resize(size)
    

    这里的返回的对象并非ndarray对象,而是Pillow中定义的类对象。

    (4)对每一帧画面进行场景切换

    简单来说就是将抠好的图片和背景图片合并,我们知道抠好的图片都在humanseg_output目录,这也就是为什么最开始要准备相应的变量存储该目录的原因:

    def setImageBg(humanseg, bg_im):
        """
        将抠好的图和背景图片合并
        :param humanseg: 抠好的图
        :param bg_im: 背景图片,这里和readBg()函数返回的类型一样
        :return: 合成图的ndarray对象
        """
        # 读取透明图片
        im = Image.open(humanseg)
        # 分离色道
        r, g, b, a = im.split()
        # 🦍复制背景,以免源背景被修改
        bg_im = bg_im.copy()
        # 合并图片
        bg_im.paste(im, (0, 0), mask=a)
        return np.array(bg_im.convert('RGB'))[:, :, ::-1]
    

    在标🦍处,我们复制了背景,如果少了这一步的话,生成的就是我们上面的“千手观音效果”了。

    其它步骤都很好理解,只有返回值比较长,我们来详细看一下:

    # 将合成图转换成RGB,这样A通道就没了
    bg_im = bg_im.convert('RGB')
    # 将Image对象转换成ndarray对象,方便opencv读取
    im_array = np.array(bg_im)
    # 此时im_array为rgb模式,而OpenCV为bgr模式,我们通过下面语句将rgb转换成bgr
    bgr_im_array = im_array[:, :, ::-1]
    

    最后bgr_im_array就是我们最终的返回结果。

    (5)写入视频

    为了节约空间,我并非等将写入图片放在合并场景后面,而是边合并场景边写入视频:

    def writeVideo(humanseg, bg_im, fps, size):
        """
        :param humanseg: png图片的路径
        :param bgname: 背景图片
        :param fps: 帧率
        :param size: 分辨率
        :return:
        """
        # 写入视频
        fourcc = cv2.VideoWriter_fourcc(*'mp4v')
        out = cv2.VideoWriter('green.mp4', fourcc, fps, size)
    
        # 将每一帧设置背景
        files = [humanseg + i for i in os.listdir(humanseg)]
        for file in files:
        	# 循环合并图片
            im_array = setImageBg(file, bg_im)
            # 逐帧写入视频
            out.write(im_array)
        out.release()
    

    上面的代码也非常简单,执行完成后项目下会生成一个green.mp4,这是一个没有音频的视频,后面就需要我们获取音频然后混流了。

    (6)读取原视频的音频

    因为在opencv中没找到音频相关的处理,所以选用moviepy,使用起来也非常方便:

    def getMusic(video_name):
        """
        获取指定视频的音频
        :param video_name: 视频名称
        :return: 音频对象
        """
        # 读取视频文件
        video = VideoFileClip(video_name)
        # 返回音频
        return video.audio
    

    然后就是混流了。

    (7)给新视频设置音频

    这里同样使用moviepy,传入视频名称和音频对象进行混流:

    def addMusic(video_name, audio):
        """实现混流,给video_name添加音频"""
        # 读取视频
        video = VideoFileClip(video_name)
        # 设置视频的音频
        video = video.set_audio(audio)
        # 保存新的视频文件
        video.write_videofile(output_video)
    

    其中output_video是我们在最开始定义的变量。

    (8)删除过渡文件

    在我们生产视频时,会产生许多过渡文件,在视频合成后我们将它们删除:

    def deleteTransitionalFiles():
        """删除过渡文件"""
        frames = [frame_path + i for i in os.listdir(frame_path)]
        humansegs = [humanseg_path + i for i in os.listdir(humanseg_path)]
        for frame in frames:
            os.remove(frame)
        for humanseg in humansegs:
            os.remove(humanseg)
    

    最后就是将整个流程整合一下。

    (8)整合

    我们将上面完整的流程合并成一个函数:

    def changeVideoScene(video_name, bgname):
        """
        :param video_name: 视频的文件
        :param bgname: 背景图片
        :return:
        """
        # 读取视频中每一帧画面
        fps, size = getFrame(video_name, frame_path)
    
        # 批量抠图
        getHumanseg(frame_path)
    
        # 读取背景图片
        bg_im = readBg(bgname, size)
    
        # 将画面一帧帧写入视频
        writeVideo(humanseg_path, bg_im, fps, size)
    
        # 混流
        addMusic('green.mp4', getMusic(video_name))
    
        # 删除过渡文件
        deleteTransitionalFiles()
    

    (9)在main中调用

    我们可以把前面定义的路径也放进了:

    if __name__ == '__main__':
    
        # 当前项目根目录
        BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "."))
        # 每一帧画面保存的地址
        frame_path = BASE_DIR + '\\frames\\'
        # 抠好的图片位置
        humanseg_path = BASE_DIR + '\\humanseg_output\\'
        # 最终视频的保存路径
        output_video = BASE_DIR + '\\result.mp4'
    
        if not os.path.exists(frame_path):
            os.makedirs(frame_path)
    
        try:
        	# 调用函数制作视频
            changeVideoScene('jljt.mp4', 'bg.jpg')
            # 当制作完成发送邮箱
            mail.sendMail('你的视频已经制作完成')
        except Exception as e:
        	# 当发生错误,发送错误信息
            mail.sendMail('在制作过程中遇到了问题' + e.__str__())
    

    这样我们就完成了完整的流程。

    五、发送邮件

    邮件的发送又是属于另外的内容了,我定义了一个mail.py文件,具体代码如下:

    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart      # 一封邮件
    
    
    def sendMail(msg):	
    	# 
        sender = '发件人'
        to_list = [
            '收件人'
        ]
        subject = '视频制作情况'
    
        # 创建邮箱
        em = MIMEMultipart()
        em['subject'] = subject
        em['From'] = sender
        em['To'] = ",".join(to_list)
    
        # 邮件的内容
        content = MIMEText(msg)
        em.attach(content)
    
        # 发送邮件
        # 1、连接服务器
        smtp = smtplib.SMTP()
        smtp.connect('smtp.163.com')
        # 2、登录
        smtp.login(sender, '你的密码或者授权码')
        # 3、发邮件
        smtp.send_message(em)
        # 4、关闭连接
        smtp.close()
    

    里面的邮箱我是直接写死了,大家可以自由发挥。为了方便,推荐发件人使用163邮箱,收件人使用QQ邮箱。另外在登录的时候直接使用密码比较方便,但是有安全隐患。
    最后送大家一套2020最新Pyhon项目实战视频教程,点击此处 进来获取 跟着练习下,希望大家一起进步哦!

    六、总结

    老实说上述程序的效率非常低,不仅占空间,而且耗时也比较长。在最开始我切换场景选择的是遍历图片每一个像素,而后找到了更加高效的方式取代了。但是帧画面的保存,和png图片的存储都很耗费空间。

    另外程序设计还是有许多不合理的地方,像是ndarray对象和Image的区分度不高,另外有些函数选择传入路径,而有些函数选择传入文件对象也很容易让人糊涂。最后说一下,我们我们用上面的方式不仅可以做静态的场景切换,还可以做动态的场景切换,这样我们就可以制作更加丰富的视频。当然,效率依旧是个问题。感兴趣的读者可以关注我的公众号:ZackSock。完整代码已提交GitHub:https://github.com/IronSpiderMan/VideoSpecialEffects

    最后,给大家带来一个彩蛋:
    在这里插入图片描述
    因为实在找不到素材,所以只能自己拍了一个,上面的实现原理大致就是本篇博客,因为光线的关系,效果还是差了一点。感兴趣的读者可以关注我,后续会写相关博客。

    展开全文
  • python实现整数拆分,输出拆分序列

    千次阅读 2019-09-26 11:15:45
    python 整数拆分 输出拆分序列
  • https://blog.csdn.net/weixin_32759777/article/details/104658869 通过上面的直播通信方式 可以实现多个程序多台电脑互相协作一个业务 可以说是微服务也不为过
  • Python实现坦克大战

    万次阅读 多人点赞 2020-10-16 17:34:21
    Python实现经典坦克大战游戏。
  • Python 实现十大经典排序算法

    万次阅读 多人点赞 2020-10-24 00:12:00
    目录排序算法分类一、冒泡排序(Bubble Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例二、选择排序(Selection Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例三、插入排序(Insertion Sort)1、...
  • Python实现模拟按键和改键精灵

    万次阅读 2019-12-09 10:36:34
    Python实现模拟按键和改键精灵,用以控制拳皇97,亲测有效. VK_CODE:虚拟键码 参考: https://www.cnblogs.com/Evan-fanfan/p/11097519.html https://blog.csdn.net/wang8978/article/details/52900048 ...
  • 稀疏矩阵之python实现

    万次阅读 多人点赞 2016-09-26 11:13:53
    本文以python里中的实现为例,首先来探讨一下稀疏矩阵是如何存储表示的。1.sparse模块初探python中scipy模块中,有一个模块叫sparse模块,就是专门为了解决稀疏矩阵而生。本文的大部分内容,其实就是基于sparse模块...
  • 线性回归其实就是寻找一条直线拟合数据点,使得损失函数最小。直线的表达式为: yi=ω1xi,1+ω2xi,2+ωjxi,j+...+by_i = \omega_1x_{i,1}+\omega_2x_{i,2}+\omega_jx_{i,j}+...+b 损失函数的表达式为: ...
  • python实现手势识别

    万次阅读 多人点赞 2020-04-14 20:39:59
    python实现手势识别(入门) 使用open-cv实现简单的手势识别 1.获取视频(摄像头) 2.肤色检测 3.轮廓提取 最终实现结果
  • Python实现发短信

    万次阅读 2020-01-11 23:05:20
    改写互亿无线官方发短信代码类实现 输出结果: <?xml version="1.0" encoding="utf-8"?> <SubmitResult xmlns="http://106.ihuyi.com/"> <code>2</code> <msg>提交成功</msg> &...
  • python实现opencv学习一:安装、环境配置、工具

    万次阅读 多人点赞 2018-03-09 20:51:58
    一:python的下载、安装、配置 以python2.7.9为例 http://blog.csdn.net/FUCAIHE/article/details/45353283 若需其他最新版本请到官网下载:https://www.python.org/downloads/ 二:安装pip 进入Python安装...
  • ELM python实现

    万次阅读 2018-03-10 14:30:09
    日常扯:ELM的Python实现是在上个学期已经完成的工作,这周重新打开,发现对一些基本的操作还是不熟悉,借此机会进行整理 铺垫 关于ELM 极限学习机(Extreme Learning Machine) ELM,是2006年由黄广斌提出来的...
  • python实现复制文件功能

    万次阅读 2018-08-27 22:21:59
    写程序,实现复制文件功能 要求: 1) 要考虑关闭文件问题 2) 要考虑超大文件复制问题 3) 要能复制二进制文件(如: / usr / bin / python3 等文件) def copy_file(): file=input(‘源文件’) file1=input(...
  • 基于python实现的车牌识别系统

    万次阅读 热门讨论 2019-03-26 00:04:18
    开发环境:python3.4.4,opencv3.4,numpy1.14,tkinter和PIL5. 运行: 开始识别: 识别:
  • Python实现自动签到脚本

    万次阅读 多人点赞 2018-07-02 13:16:42
    大二的时候就让我们做自动签到脚本,说用JS可以写一下,但是说着说着就给忘了,现在学了python后又想起来要写一个自动签到的脚本,不得不佩服python的强大,短短二十行左右的代码就实现了,虽然说脚本还需要手动操作...
  • python实现IOU计算

    万次阅读 热门讨论 2018-08-13 14:34:27
    很简单的算法实现,我也随便写了一个,嗯,很简单。 1. 使用时,请注意bbox四个数字的顺序(y0,x0,y1,x1),顺序不太一样。 #!/usr/bin/env python # encoding: utf-8 def compute_iou(r...
  • python实现ocr

    万次阅读 2018-10-28 15:54:07
    python实现ocr 前期准备 在这个阶段主要准备整个小程序的结构,既然要实现ocr,那么输入就是一张图片,而图片这里采用屏幕截图的方式获得,输出是文字,这里采用搜狗的ocr接口,我们把截好的图片传到搜狗ocr接口中,...
  • Python实现SVM使用案例

    万次阅读 多人点赞 2019-06-05 20:14:31
    这篇推文主要介绍Python实现SVM的案例,后期会更新加强版。 这里主要讲的是使用Python的Sklearn包实现SVM样本分类,而不包括SVM的理论推导,我在看SVM的理论的时候看了很多网上的博客,有很多都写的不错,这里...
  • python实现LBP方法提取图像纹理特征实现分类

    万次阅读 多人点赞 2017-04-06 21:58:45
    题目描述:给定40张不同风格的纹理图片,大小为512*512,要求将每张图片分为大小相同的9块,利用其中的5块作为训练集,剩余的4块作为测试集,构建适当的模型实现图片的分类. 图片如下图所示:分析:由于数据集太小,所以神经...
  • Python实现“已知三角形两个直角边,求斜边” 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入。 思路:伪代码描述下步骤 1、-input a value for the base as a float...
  • Python实现自动抠图(上篇)

    千次阅读 2019-07-24 09:29:13
    Python实现自动抠图         生活中,我们经常需要使用到一些图片资源,比如做ppt、项目需要等,这就涉及图片的处理。但抠图是一个痛苦的过程,本人是ps入门级玩家,每次...
  • python 实现开方

    千次阅读 2018-11-07 16:32:26
    问题描述:利用python实现开根号操作 1.调用库的方法 import math res = math.sqrt(x) 或者一个python特性的方法 res = x ** 0.5 2.二分法实现 二分法实现要主要x的范围,对应的二分范围也不同: 时,二分...
  • python实现微信聊天机器人

    万次阅读 多人点赞 2018-05-21 17:59:12
    python实现微信聊天机器人 具备基础:会编程就ok 电脑环境:已经安装过python,在命令行输入python能成功就行 在准备工作做完之后,就可以进入正式开发了,其实这个程序主要是使用了图灵机器人的接口,你...
  • 【Python3】python实现:KL距离

    万次阅读 2019-12-07 22:36:15
    KL散度又是一个从信息论、熵的角度考量距离的一个量。但是,KL是距离有点不妥,因为距离需要满足4个条件: d(x,x) = 0 反身性 d(x,y) >= 0 非负性 d(x,y) = d(y,x) 对称性 d(x,k)+ d(k,y) >...
  • Python实现softmax函数

    万次阅读 2019-03-03 18:15:49
    Python实现softmax函数: PS:为了避免求exp(x)出现溢出的情况,一般需要减去最大值。 # -*-coding: utf-8 -*- import tensorflow as tf import numpy as np def softmax(x, axis=1): # 计算每行的最大值 ...
  • python 实现屏幕录制

    千次阅读 2019-06-12 10:19:50
    python实现屏幕录制 PIL 即pollow 的安装命令如下: pip install pillow 其中cv2的安装是下面这条命令 pip install opencv-python 代码实现: # coding: utf-8 from PIL import ImageGrab import numpy as np ...

空空如也

1 2 3 4 5 ... 20
收藏数 252,189
精华内容 100,875
关键字:

python实现

python 订阅