码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python图像处理实验中记录(包括图像读取、图像缩放、图像格式转换等)


    • 图像读取
      • 使用skimage img = io.imread(img_path)
        • np.ndarray, (0, 255), RGB
      • 使用opencv img = cv2.imread(img_path)
        • np.ndarray, (0, 255), BGR
      • 使用PIL img = Image.open(img_path)
        • PIL.Image.Image对象 (H * W * C), (0, 255), RGB
    • 图像缩放
      • 一般说的102*128指:高102,宽128
      • 使用skimage(from skimage import transform) img = transform.resize(img, (height, width))
      • 使用opencv img = cv2.resize(img, (width, height))
      • 使用PIL img =img.resize((width, height), Image.ANTIALIAS)
      • 使用torch (from torchvision import transforms)
        • resize = transforms.Resize([height, width]) img = resize(img)
    • 图像格式转换
    • torchvision
      • 可以把张量或ndarray转为PIL图像
      • 可以将PIL图像或ndarray图像转为张量
    • 小操作
      • 图像转为ndarray之后可以使用切片进行裁减或者替换对应位置的像素点
        • img = np.array(img, dtype=np.uint8)
          img = img[26:-2, 11:-9]
      • 对图像进行增加一个通道的处理,类似于tensor, numpy 的操作,此处引入了新的张量转换包einops
        • mask_img = np.expand_dims(mask_img, axis=2)
        • img = einops.rearrange(img,“w h -> w h 1”)
        • input_tensor = torch.unsqueeze(img_tensor, dim=0) # 增加一个batch维度
      • 图像去除维度1
        • img = np.squeeze(img)
      • 图像维度变换,使用einops包
        • img = einops.rearrange(img,“h w c -> w h c”)
      • 给图像上下左右填充像素点,以其外侧边缘的像素类型进行填充
        • top_size, bottom_size, left_size, right_size = (24, 0, 12, 12)
          img = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE)
      • 设定阈值,把图像grayscale_cam变为二值化图像frame_cam
        • frame_cam = np.where(grayscale_cam > 0.5, 1.0, 0.0)
  • 相关阅读:
    赴日开发工程师是做什么的?
    yolov7数据集格式用于目标识别与实例分割
    83、【backtrader期货策略】一个国债期货的日线趋势跟踪策略
    未来之路:大模型技术在自动驾驶的应用与影响
    记录Mac中使用zsh配置多开发环境与常用命令
    Unity Quaternion接口API的常用方法解析_unity基础开发教程
    Nodejs操作缓存数据库-Redis
    Redis——jedis的string类型使用
    Sql Prompt 10下载安装图文教程
    Docker DeskTop的安装(Windows版本)
  • 原文地址:https://blog.csdn.net/Sun_lightYY/article/details/127929779
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号