首页 > 其他分享 >白底黑字图像背景透明化小工具

白底黑字图像背景透明化小工具

时间:2024-04-03 11:04:41浏览次数:22  
标签:img image cv2 result 白底黑字 图像 path 透明化 255

可用于对于白底黑字的各种线性图标的全部整合成一个图,也可以进行透明化作为某个插图使用。

1.效果展示:

处理前:

处理后(蓝白底做背景):

处理前:

处理后(蓝白做背景):

2.函数解释

若是原图片不够清晰或者存在毛边,可以调用一下这两个函数

img_improve2(image, outpath)  # 用于图片增强亮度和饱和度的

img_Brightness_contrast(img_array, outpath)  # 用于增强图片对比度的

make_transparent(image_path, output_path)  #用于实现图像透明处理的

import cv2
import numpy as np
from PIL import Image


def img_improve2(image, outpath):
    b, g, r = cv2.split(image)  # 拆
    bH = cv2.equalizeHist(b)  # 对三个通道图进行直方图均衡化
    gH = cv2.equalizeHist(g)
    rH = cv2.equalizeHist(r)
    result = cv2.merge([bH, gH, rH])  # 合
    res = np.hstack((image, result))
    threshold = 20  # 设立一个阈值
    h, w = image.shape[:2]
    result[np.where((result[:,:,0] > threshold) & (result[:,:,1] > threshold) & (result[:,:,2] > threshold))] = [255, 255, 255]  # 如果大于阈值就赋予白色,保证黑色留下
    cv2.imencode('.png', result)[1].tofile(outpath)
    return result


def img_Brightness_contrast(img_array, outpath):
    
    img = cv2.cvtColor(img_array, cv2.COLOR_RGB2BGR)
    bri_mean = np.mean(img)
    Brightness = 2.0  # 对比度
    contrast = 110  # 亮度.
    img_a = Brightness * (img-bri_mean) + contrast + bri_mean
    img_a = np.clip(img_a, 0, 255).astype(np.uint8)
    cv2.imencode('.png', img_a)[1].tofile(outpath)

    return img_a

def make_transparent(image_path, output_path):
    image = Image.open(image_path)
    if image.mode != 'RGBA':
        image = image.convert('RGBA')
    datas = image.getdata()

    new_data = []
    for item in datas:
        if item[0] == 255 and item[1] == 255 and item[2] == 255:
            new_data.append((255, 255, 255, 0))
        else:
            new_data.append(item)

    image.putdata(new_data)
    image.save(output_path)


image_path = "C:/Users/Administrator/Desktop/111/黑白_7.jpg"
output_path = "C:/Users/Administrator/Desktop/111/transparent_1.png"
image = cv2.imdecode(np.fromfile(image_path, dtype=np.uint8), 1)
# image = img_Brightness_contrast(image, "C:/Users/Administrator/Desktop/111/黑白_6.jpg")
# image = img_improve2(image, "C:/Users/Administrator/Desktop/111/黑白_7.jpg")

make_transparent(image_path, output_path)

标签:img,image,cv2,result,白底黑字,图像,path,透明化,255
From: https://blog.csdn.net/maxiubin666/article/details/137335264

相关文章

  • 超分辨率(4)--基于A2N实现图像超分辨率重建
    一.项目介绍 已有研究表明,注意力机制对高性能超分辨率模型非常重要。然而,很少有工作真正讨论“为什么注意力会起作用,它又是如何起作用的”。文章中尝试量化并可视化静态注意力机制并表明:并非所有注意力模块均有益。提出了AttentioninAttentionBlock(A2N)用于高精确图像超分......
  • R语言layout函数处理可视化图像布局实战
     R语言layout函数处理可视化图像布局实战目录R语言layout函数处理可视化图像布局实战#基本语法#layout定义位置矩阵并可视化......
  • 将BGR转换成为YUV420SP图像格式
      //BGR2YUV(YUV420SP_NV21)voidenCodeYUV420SP(unsignedchar*yuv420sp,unsignedchar*rgb,intwidth,intheight){ if(yuv420sp==NULL||rgb==NULL) return; intframeSize=width*height; intyIndex=0; intuvIndex=frameSize; intR,G,......
  • Tensorflow 图像搜索制作的docker镜像
    Dockerfile1#基于官方Python3.10镜像2FROMpython:3.1034#设置工作目录5WORKDIR/app67#将当前目录下的所有文件拷贝到容器的/app目录下8COPY./app910#安装依赖包11RUNpipinstall--no-cache-dirFlaskPillowtensorflowannoymat......
  • 图像处理环境配置opencv-python
    下载python,配置pip使用清华源下载镜像:​pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple​切换到python目录下,右击cmd,执行pip升级指令:​python-mpipinstall--upgradepip​下载opencv:​pipinstall--useropencv-python​opencv核心库​p......
  • 【图像分割】基于平方Hellinger距离和局部相关特征的自适应活动轮廓非均匀图像分割附m
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 【图像加密】基于RSA实现灰色、彩色图像加密解密(含秘钥)附Matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • Python:百度AI开放平台——OCR图像文字识别应用
    一、注册百度AI开放平台使用百度AI服务的步骤为:注册:注册成为百度AI开放平台开发者;创建AI应用:在百度API开放平台上创建相关类型的的AI应用,获得AppID、APIKey和SecretKey;调用API:调用相关类型的API,获得AI功能的结果,为开发者的应用服务。注册的操作步骤:登录百度AI开放平台,百......
  • CSci 4061多线程图像匹配服务器
    CSci4061:操作系统简介,2024年春季项目#3:多线程图像匹配服务器中间提交截止时间:2023年4月4日下午11:59(CDT)最终提交截止时间:下午11:59(CDT),4。12,20231.背景这个实验室的目的是使用C语言中的POSIX线程(pthreads)来学习线程编程和同步方法。在这个项目中,我们将使用多线程来提高服务器的......
  • C# 简易图像处理(包括平移,旋转,翻转, 裁切)
    控件布局主要分为一个Panel+一个PictureBox+还有一个自定义半透明裁切平面ExtendedPanel;Form1.Designer.cs代码如下:namespaceImageEditer{partialclassImageEdit{///<summary>///必需的设计器变量。///</summary>pr......