Opencv制作电子签名(涉及知识点:像素过滤,图片通用resize函数,像素大于某个阈值则赋值为其它的像素值)

news2025/2/28 20:17:25
import cv2


def resize_by_ratio(image, width=None, height=None, inter=cv2.INTER_AREA):
    img_new_size = None
    (h, w) = image.shape[:2] # 获得高度和宽度
    if width is None and height is None: # 如果输入的宽度和高度都为空
        return image # 直接返回原图
    if width is None:
        h_ratio = height / float(h) # 输入高度 / 原始高度 得到比率
        img_new_size = (int(w * h_ratio), height) # 将宽度缩放同样的比例
    else:
        w_ratio = width / float(w)
        img_new_size = (width, int(h * w_ratio))
    resized = cv2.resize(image, img_new_size, interpolation=inter)
    return resized

def guo_lv(img,threshold):
    r, c = img.shape
    print(r,c)
    for i in range(0,r):
        for j in range(0,c):
            if img[i,j]>threshold:
                img[i,j] = 255

img = cv2.imread('../img/qian_ming2.png')
img = resize_by_ratio(img,width=320)
cv2.imshow('img1',img)

img=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
threshold = 120
guo_lv(img,threshold)
cv2.imshow('img',img)





# cv2.imshow('img1',img)
# cv2.imshow('img2',img)
# ret,img_new = cv2.threshold(img, 155, 255, cv2.THRESH_BINARY)
# ret,thresh = cv2.threshold(img,0,255,cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU)
# cv2.imshow('img',img)
# cv2.imshow('img1',img)
cv2.waitKey(0)

原图:
在这里插入图片描述
执行程序后:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1279249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git-6

1.如何用project管理issue? 用project看板管理issue 有五种类型:None、Basic kanban、Automated kanban、Automated kanban with reviews、Bug triage 首先选用Bug triage 利用看板就会很直观,很便捷,Issues也支持,有…

OpenTelemetry系列 - 第4篇 OpenTelemetry K8S生态

目录 一、【Helm】添加OTel Helm repo二、【Helm Chart】OTel Collector2.1 daemonset2.2 deloyment 三、【K8S Operator】OTel Operator3.1 安装OTel Operator3.2 部署OpenTelemetryCollector3.2.1 Deloyment Mode3.2.2 DeamonSet Mode3.2.3 StatefulSetMode3.2.4 Sidecar Mod…

思维模型 莫扎特效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。音乐激发无限潜能。 1 莫扎特效应的应用 1.1 莫扎特效应在教育领域的应用-Baby Einstein”公司 在美国,有一家名为“Baby Einstein”的公司,该公司生产和销售专门为…

SQL自学通之简介

目录 一、SQL 简史 二、数据库简史 1、Dr. Codds 对关系型数据库系统的十二条规则 2、设计数据库的结构 3、数据库的前景 4、对于什么是客户机/服务器型电脑系统 BernardH.Boar的定义如下: 5、交互式语言 6、易于实现 7、SQL 总览 三、流行的 SQL 开发工具…

前端小记--2.element-ui中级联选择器cascader如何默认展开下拉框

最近做项目时,遇到一个需求:在一个排班表中,展示人员的值班情况,点击单元格,弹出下拉框,修改人员排班信息。 由于下拉框选择内容是树状结构,这里使用了element-ui中级联组件cascader&#xff0c…

一起学docker系列之十七Docker Compose 与手动操作的比较与优势分析

目录 1 前言2 不使用 Docker Compose2.1 启动 MySQL 容器2.2 启动 Redis 容器2.3 启动微服务容器 3 使用 Docker Compose4 使用 Docker Compose 的优势5 结语参考地址 1 前言 在当今容器化应用的开发与部署中,容器编排工具的选择对于简化流程、提高效率至关重要。本…

6-69.鸭子也是鸟

按要求完成下面的程序: 1、定义一个Bird类,包含一个void类型的无参的speak方法,输出“Jiu-Jiu-Jiu”。 2、定义一个Duck类,公有继承自Bird类,其成员包括: (1)私有string类型的成员na…

WPF实现文字纵向排布的TabItem

文章目录 基本用法文字竖排显示 WPF布局 基本用法 WPF中的TabControl是一个容器控件,用于在单个窗体或页面中承载多个选项卡。每个选项卡可以包含不同的控件,用于显示不同的内容,其最简单的调用方法如下,只需在TabControl中无脑…

德迅云安全的日常网站安全性措施、以及更多网站安全工具的推荐与使用。

要确保网站的安全性,可以采取以下措施: 更新和维护:定期更新网站的操作系统、应用程序和插件,确保使用的是最新版本,以修复已知的安全漏洞。 强密码策略:使用强密码,包含字母、数字和特殊字符的…

合成相机模型【图形学】

相机在计算机图形学中有两个方面的考虑:相机的位置和相机的形状。 要了解后者,我们需要了解相机的工作原理。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - R…

BearPi Std 板从入门到放弃 - 1 引气入体篇

安装相关开发工具 Keil MDK 工具下载 略, 自行体会 Keil 芯片支持包下载 Keil 包 网址 https://www.keil.com/pack 此处下载的是STM32L4xx的支持包 https://www.keil.com/pack/Keil.STM32L4xx_DFP.2.6.2.pack STM32CubeMX 下载与包下载 i. 下载(需要使用用户&…

爬虫学习(三)用beautiful 解析html

安装库 import requests from bs4 import BeautifulSoup headers {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"} for start_num in range(0,250…

【Gstreamer】自定义Plugin及调用Plugin

Gstreamer自定义Plugin及调用自定义Plugin Gstreamer支持开发者自己创建Plugin,创建后的Plugin可以通过工具gst-inspect-1.0查看,并在代码中调用自定义的plugin。 Gstreamer 官网中给出了Plugin创建教程,但实际上如果按照教程一步步走&…

机器学习笔记 - 异常检测之OneClass SVM算法简述

一、异常检测是什么? 如下图,理想中我们可以找到一个框住大部分正常样本的决策边界,而在边界外部的数据点(蓝点)即视为异常。 但实际情况下数据都没有标签,因此很难定义正常还是不正常。异常检测的主要挑战如下:正常与异常行为之间的界限往往并不明确、不同的应…

org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource

DynamicDataSource-CSDN博客 /** Copyright 2002-2020 the original author or authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the L…

uni-app 微信小程序之自定义中间圆形tabbar

文章目录 1. 自定义tabbar效果2. pages新建tabbar页面3. tabbar 页面结构4. tabbar 页面完整代码 1. 自定义tabbar效果 2. pages新建tabbar页面 首先在 pages.json 文件中,新建一个 tabbar 页面 "pages": [ //pages数组中第一项表示应用启动页&#xff…

Spark大数据集群日常开发过程遇到的异常及解决思路汇总

原创/朱季谦 在开发Spark任务过程中,遇到过不少新人经常可能会遇到的坑,故而将这些坑都总结了下来,方便日后遇到时,可以快速定位解决,壁面耗费过多时间在查找问题之上。 一、出现java.lang.IllegalAccessError: tried…

Docker常见命令介绍

命令说明 docker pull 拉取镜像 docker push 推送镜像到DockerRegistry docker images 查看本地镜像 docker rmi 删除本地镜像 docker run 创建并运行容器(不能重复创建) docker stop 停止指定容器 docker start 启动指定容器 docker rest…

设计模式之道:解构结构型设计模式的核心原理

解构常见的三种结构型设计模式的核心原理 一、引言:如何学习设计模式?二、责任链模式2.1、代码结构2.2、符合的设计原则2.3、案例分析:nginx 阶段处理2.4、小结 三、装饰器模式3.1、代码结构3.2、符合的设计原则3.3、小结 四、组合模式4.1、代…

深度学习——第03章 Python程序设计语言(3.1 Python语言基础)

无论是在机器学习还是深度学习中,Python已经成为主导性的编程语言。而且,现在许多主流的深度学习框架,例如PyTorch、TensorFlow也都是基于Python。本课程主要是围绕“理论实战”同时进行,所以本章将重点介绍深度学习中Python的必备…