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

python 复制代码
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)

原图:

执行程序后:

相关推荐
Leinwin2 分钟前
智能体驱动业务转型:Microsoft Copilot Studio平台全面升级
人工智能·microsoft·copilot
腾飞开源3 分钟前
17_Spring AI 干货笔记之谷歌生成式AI聊天
人工智能·多模态·工具调用·gemini·spring ai·google genai·思维配置
qxbs5 分钟前
汽修帮手资料库终身免费使用——首家免费资料库网站,查汽车维修资料就用汽修帮手,里面几万套车型维修手册电路图保养手册培训资料针脚定义保险丝图解
人工智能·汽车
算法与编程之美5 分钟前
理解pytorch中的L2正则项
人工智能·pytorch·python·深度学习·机器学习
学兔兔VIP6 分钟前
多模态AI融合的电力边缘物联终端研究与应用
人工智能·物联网·电力系统·智能终端·多模态ai
阿恩.7709 分钟前
金融经济学国际期刊/会议:前沿研究与创新
大数据·人工智能·笔记·计算机网络
smart199810 分钟前
Infortrend普安存储GS支持GPU Direct存储,带宽最大化适合AI/HPC/科研制造
人工智能·能源·制造·智能硬件
南极星100511 分钟前
OPENCV(python)--初学之路(十二)霍夫线/圆变换
人工智能·opencv·计算机视觉
roman_日积跬步-终至千里11 分钟前
【模式识别与机器学习】机器学习练习题集
人工智能·机器学习
海岸线科技11 分钟前
打破离散制造“内卷”:工业智能体(AI Agent)落地的五大核心原则
人工智能·制造