位置: IT常识 - 正文

图像处理——图像增强(图像处理入门)

编辑:rootadmin
图像处理——图像增强

推荐整理分享图像处理——图像增强(图像处理入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:图像处理图片素材,图像处理的一般流程,图像处理入门,图像处理百度百科,图像 处理,图像 处理,图像处理gui,图像 处理,内容如对您有帮助,希望把文章链接给更多的朋友!

🌞欢迎来到机器学习的世界  🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🌠本阶段属于练气阶段,希望各位仙友顺利完成突破

📆首发时间:🌹2022年10月11日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!

目录

🍈 图像亮度增强和降低

 🍉旋转

🍊水平镜像和垂直镜像

🍋高斯噪声

🥟其它图像增强的方法

🍟适用于项目的的整体代码

图像处理——图像增强(图像处理入门)

创作背景:

     最近在忙着两个YOLOv7项目,通过看大量的论文,发现很多的相关的论文都会在收集图像后进行图像的增强,本文将使用python中的opencv模块实现常见的图像增强方法。

            由于光照角度和天气等不确定因素,导致图像采集的光环境极其复杂;为了提高目标检测模型的泛化能力,本文采用了几种图像增强方法。

图像增强方法包括

图像亮度增强和降低水平镜像垂直镜像多角度旋转(90°̘,180°̘,270°̘)高斯噪声

此外,考虑到图像采集设备在图像采集过程中产生的噪声,以及设备或树枝晃动造成的拍摄图像模糊,在图像中加入方差为0.02的高斯噪声,进行运动模糊处理。

🍈 图像亮度增强和降低图像亮度。指数字图像中包含色彩的明暗程度,是人眼对物体本身明暗程度的感觉。图像亮度调节可以采用最简单的图像处理算法,通过常见的线性运算即完成亮度调节,这里我们让所有的像素点亮度值乘上一个增强系数 percetage,使得图像整体变亮或者变暗。# 变暗def Darker(image,percetage=0.9): image_copy = image.copy() w = image.shape[1] h = image.shape[0] #get darker for xi in range(0,w): for xj in range(0,h): image_copy[xj,xi,0] = int(image[xj,xi,0]*percetage) image_copy[xj,xi,1] = int(image[xj,xi,1]*percetage) image_copy[xj,xi,2] = int(image[xj,xi,2]*percetage) return image_copy# 明亮def Brighter(image, percetage=1.1): image_copy = image.copy() w = image.shape[1] h = image.shape[0] #get brighter for xi in range(0,w): for xj in range(0,h): image_copy[xj,xi,0] = np.clip(int(image[xj,xi,0]*percetage),a_max=255,a_min=0) image_copy[xj,xi,1] = np.clip(int(image[xj,xi,1]*percetage),a_max=255,a_min=0) image_copy[xj,xi,2] = np.clip(int(image[xj,xi,2]*percetage),a_max=255,a_min=0) return image_copy 🍉旋转

     本文使用opencv中的使用getRotationMatrix2D() 函数和warpAffine() 函数实现旋转原始图像,通过改变函数参数“angle”分别实现90°̘、180°̘、270°旋转。变换后的图像可以通过正确识别不同方位的目标来提高模型的检测性能。改变函数参数scal一个各向同性比例因子,根据提供的值向上或向下缩放图像。

# 旋转,R可控制图片放大缩小def Rotate(image, angle=15, scale=1): w = image.shape[1] h = image.shape[0] #rotate matrix M = cv2.getRotationMatrix2D((w/2,h/2), angle, scale) #rotate image = cv2.warpAffine(image,M,(w,h)) return image🍊水平镜像和垂直镜像

图像镜像(水平和垂直镜像)是通过opencv中的使用flip函数实现的,通过以图像的垂直线为中心变换图像的左侧和右侧来实现水平镜像。垂直镜像是通过以图像的水平中心线为中心变换图像的上下侧来实现的。

# 水平翻转def Horizontal(image): return cv2.flip(image,1,dst=None)# 垂直翻转def Vertical(image): return cv2.flip(image,0,dst=None)🍋高斯噪声

    本文使用NumPy中的可以产生符合高斯分布(正态分布)的随机数的 np.random.normal()函数。利用产生随机数的函数来对图像添加方差为0.02的高斯噪声。

def gaussian_noise(image, mean=0, var=0.02): # 添加高斯噪声 # mean : 均值 # var : 方差 image = np.array(image / 255, dtype=float) noise = np.random.normal(mean, var ** 0.5, image.shape) out = image + noise if out.min() < 0: low_clip = -1. else: low_clip = 0. out = np.clip(out, low_clip, 1.0) out = np.uint8(out * 255) return out🥟其它图像增强的方法# 放大缩小def Scale(image, scale): return cv2.resize(image,None,fx=scale,fy=scale,interpolation=cv2.INTER_LINEAR)# 平移def Move(img,x,y): img_info=img.shape height=img_info[0] width=img_info[1] mat_translation=np.float32([[2,0,x],[0,2,y]]) #变换矩阵:设置平移变换所需的计算矩阵:2行3列 #[[1,0,20],[0,1,50]] 表示平移变换:其中x表示水平方向上的平移距离,y表示竖直方向上的平移距离。 dst=cv2.warpAffine(img,mat_translation,(width,height)) #变换函数# 椒盐噪声def SaltAndPepper(src,percetage=0.05): SP_NoiseImg=src.copy() SP_NoiseNum=int(percetage*src.shape[0]*src.shape[1]) for i in range(SP_NoiseNum): randR=np.random.randint(0,src.shape[0]-1) randG=np.random.randint(0,src.shape[1]-1) randB=np.random.randint(0,3) if np.random.randint(0,1)==0: SP_NoiseImg[randR,randG,randB]=0 else: SP_NoiseImg[randR,randG,randB]=255 return SP_NoiseImg#模糊def Blur(img): blur = cv2.GaussianBlur(img, (7, 7), 1.5) # # cv2.GaussianBlur(图像,卷积核,标准差) return blur🍟适用于项目的的整体代码

       为了满足项目的使用,我对上述代码进行了了扩充,实现了对单个图片,单个文件夹和多个文件夹中多个图片的图像的增强,在这个过程中感谢高向军老师的帮忙。如果需要源码的可以加我的联系方式(qq:2171172506)代码书写不易,有偿获取哈。

本文链接地址:https://www.jiuchutong.com/zhishi/299039.html 转载请保留说明!

上一篇:yolov5部署+微信小程序前端展示(yolov5部署微信小程序)

下一篇:VUE-CLI/VUE-ROUTER

  • 新开网店如何利用淘宝客推广淘宝店(新开网店如何利润高)

    新开网店如何利用淘宝客推广淘宝店(新开网店如何利润高)

  • 快手免流量服务怎么取消(快手免流量服务是什么意思)

    快手免流量服务怎么取消(快手免流量服务是什么意思)

  • 苹果11用itools验机电池异常(苹果11用什么软件检测)

    苹果11用itools验机电池异常(苹果11用什么软件检测)

  • 并暂缓充电至80%以上什么意思(并暂缓充电至80%以上,直至您有需要)

    并暂缓充电至80%以上什么意思(并暂缓充电至80%以上,直至您有需要)

  • 不同网络体系结构的网络互联时需要使用(不同网络体系结构互联)

    不同网络体系结构的网络互联时需要使用(不同网络体系结构互联)

  • 怎样一台手机上两个钉钉账号(怎样一台手机上两个钉钉账号华为)

    怎样一台手机上两个钉钉账号(怎样一台手机上两个钉钉账号华为)

  • ca用户是什么意思(ca登录和用户登录区别)

    ca用户是什么意思(ca登录和用户登录区别)

  • 漏话提醒是被拉黑了吗(漏话提醒是拉黑还是关机)

    漏话提醒是被拉黑了吗(漏话提醒是拉黑还是关机)

  • 微信群多人视频最多多少人(微信群多人视频怎么没了)

    微信群多人视频最多多少人(微信群多人视频怎么没了)

  • 快手怎么不能查找了(快手怎么不能查看别人的粉丝)

    快手怎么不能查找了(快手怎么不能查看别人的粉丝)

  • 怎么设置首行缩进2字符(怎么设置首行缩进0字符)

    怎么设置首行缩进2字符(怎么设置首行缩进0字符)

  • 爱奇艺会员二维码怎么分享给别人(爱奇艺会员二维码共享图片)

    爱奇艺会员二维码怎么分享给别人(爱奇艺会员二维码共享图片)

  • 红米note8怎么进入极简桌面(红米note8怎么进入双清)

    红米note8怎么进入极简桌面(红米note8怎么进入双清)

  • 小米9pro怎么关闭桌面信息助手(小米9怎么关闭miui)

    小米9pro怎么关闭桌面信息助手(小米9怎么关闭miui)

  • qq音乐独立密码怎么设置(qq音乐独立密码在哪里)

    qq音乐独立密码怎么设置(qq音乐独立密码在哪里)

  • 苹果11闹钟铃声在哪里设置(苹果11闹钟铃声资料库里怎么弄铃声)

    苹果11闹钟铃声在哪里设置(苹果11闹钟铃声资料库里怎么弄铃声)

  • 如何取消付款脸刷验证(怎么关闭脸部支付)

    如何取消付款脸刷验证(怎么关闭脸部支付)

  • 消息记录怎么恢复(怎样找回消息记录)

    消息记录怎么恢复(怎样找回消息记录)

  • 华为mate20玩游戏微信不提醒(华为mate20玩游戏怎么聊微信)

    华为mate20玩游戏微信不提醒(华为mate20玩游戏怎么聊微信)

  • siri识别所有人声音吗(siri语音识别其他人)

    siri识别所有人声音吗(siri语音识别其他人)

  • 陌陌视频功能怎么设置(陌陌视频功能怎么开启)

    陌陌视频功能怎么设置(陌陌视频功能怎么开启)

  • 闪送如何注册(闪送如何注册账号)

    闪送如何注册(闪送如何注册账号)

  • 怎么用iPhone助手进行iPhone换机?(苹果助手hi)

    怎么用iPhone助手进行iPhone换机?(苹果助手hi)

  • windows系统进程终止方法详解(window10进程)

    windows系统进程终止方法详解(window10进程)

  • 已提折旧
  • 补提去年所得税会计分录怎么写
  • 财政应返还额度与财政拨款收入的关系
  • 季度所得税资产总额怎么计算
  • 企业会计准则季报报送哪几个报表
  • 子公司分红母公司缴税吗
  • 上市公司股价变动谁受益
  • 税款状态已缴款未入库
  • 增值税专用发票电子版
  • t3用友软件怎么设置三级科目
  • 民办非企业单位属于什么类型
  • 现金折扣的销售额
  • 员工缴纳的工会会费可以税前扣除吗
  • 收回的材料赔偿款怎么处理?
  • 会务费发票税率是
  • 个体户办营业执照需要什么证件和材料
  • 人力资源外包差额计税税率
  • 辅导期一般纳税人预缴增值税
  • 技术服务合同增值税税率3%
  • 信用卡消费凭证
  • 中级会计考试报名
  • 专用发票可以重复盖章吗
  • 工会财务总结报告
  • 股东个人财产转让流程
  • 建立无法轻易删除的数据
  • linux取消静态ip
  • 盈余公积转增资本会计科目
  • 运输企业成本核算内容有哪些?
  • php stl
  • 公司清算的补偿方案是不是应该公布了
  • 汉密尔顿岛在哪里
  • 企业政策性拆迁资产重置算支出吗
  • kaggle如何入门
  • 国有企业收到财政补助如何做账
  • js经典案例代码大全
  • 先收到保险公司赔付然后赔给顾客医药费怎么做帐
  • 支付水电费如何做账务处理
  • java sc
  • 一般纳税人之间转让土地使用权交哪些税金
  • 转账支票背书盖章图位置
  • 开增值税专用发票的好处
  • 个人所得税0申报什么意思
  • 应交增值税进项税额
  • 向银行申请银行汇票
  • 农副产品普通发票可以抵扣增值税吗
  • 库存商品怎么结转收入
  • 抵扣的进项税如何做账
  • 未开票收入如何计提增值税
  • 长期待摊费用的最新账务处理
  • 成本结转的凭证后附件是怎样的
  • 费用本期发生额怎么算
  • 企业所有者权益在数量上等于
  • 付给外包公司的垃圾处理费会计分录
  • 如何理解其他权益工具
  • MySQL关于exists的一个bug
  • windows server特点
  • window9为什么没有
  • win10系统电脑如何共享
  • centos svn服务器搭建web
  • centos下载教程2020
  • windows xp 开机
  • ubuntu安装sz
  • w8系统怎么删除软件
  • splash.exe - splash是什么进程 有什么作用
  • 电脑键盘上f1到f12快捷键的功能分别是
  • win8.1不能关机
  • centos chrony
  • 电脑windows7打不开怎么办
  • win8怎么设置开始
  • win10系统打游戏
  • linux解密
  • win8如何禁止电脑自动安装软件
  • 游戏引擎的重要性
  • shell字符串截取加替换
  • 在线linux模拟环境
  • python字符串常用的五种方法
  • 供热企业税收优惠政策执行情况
  • 个体商户营业额多少万以下免税
  • 四季度预缴申报表
  • 津补贴怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设