位置: 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

  • vivox70pro+怎么设置通话自动录音(vivox70pro+怎么设置动态壁纸)

    vivox70pro+怎么设置通话自动录音(vivox70pro+怎么设置动态壁纸)

  • oppok9s电池容量是多少(oppo r9sk电池多大)

    oppok9s电池容量是多少(oppo r9sk电池多大)

  • 华为路由器登录密码是什么(华为路由器登录密码)

    华为路由器登录密码是什么(华为路由器登录密码)

  • WPS文档如何加批注(wps文档如何批量删除空行)

    WPS文档如何加批注(wps文档如何批量删除空行)

  • 苹果官网买的东西怎么看物流(苹果官网买的东西)

    苹果官网买的东西怎么看物流(苹果官网买的东西)

  • 红米k30断流怎么解决(红米k30 断流)

    红米k30断流怎么解决(红米k30 断流)

  • 家里遥控器坏了 手机怎么遥控(家里遥控器坏了 华为手机怎么遥控)

    家里遥控器坏了 手机怎么遥控(家里遥控器坏了 华为手机怎么遥控)

  • 手机管家有必要装吗(手机管家有必要下载吗)

    手机管家有必要装吗(手机管家有必要下载吗)

  • 威朗显示屏闪屏原因(威朗显示屏闪屏怎么解决)

    威朗显示屏闪屏原因(威朗显示屏闪屏怎么解决)

  • vivo蓝牙设置在哪里(vivo手机蓝牙在哪里设置)

    vivo蓝牙设置在哪里(vivo手机蓝牙在哪里设置)

  • beats solo3怎么关机(beatssolo3怎么关闭灯光)

    beats solo3怎么关机(beatssolo3怎么关闭灯光)

  • 虚拟现实技术具有的三个特征(虚拟现实技术具有3i的特征,分别是)

    虚拟现实技术具有的三个特征(虚拟现实技术具有3i的特征,分别是)

  • 苹果手机桌面图标怎么个性化设置(苹果手机桌面图标怎么变小)

    苹果手机桌面图标怎么个性化设置(苹果手机桌面图标怎么变小)

  • oppor17充电头多少瓦(oppor17充电头多少w)

    oppor17充电头多少瓦(oppor17充电头多少w)

  • 安卓手机如何打开obb文件(安卓手机如何打开exe文件)

    安卓手机如何打开obb文件(安卓手机如何打开exe文件)

  • 手机4g+是什么意思(手机4g+是什么意思怎么切换5g)

    手机4g+是什么意思(手机4g+是什么意思怎么切换5g)

  • qq怎么和好友有互赞图标(qq怎么和好友聊天)

    qq怎么和好友有互赞图标(qq怎么和好友聊天)

  • 苹果防误触怎么关闭(iphone 防误触)

    苹果防误触怎么关闭(iphone 防误触)

  • qq怎么看好友被谁赞过(qq怎么看好友被屏蔽了)

    qq怎么看好友被谁赞过(qq怎么看好友被屏蔽了)

  • 手机拦截的电话在哪里(手机拦截的电话都是什么)

    手机拦截的电话在哪里(手机拦截的电话都是什么)

  • 摩拜单车如何充值(摩拜单车充电宝冲不上电)

    摩拜单车如何充值(摩拜单车充电宝冲不上电)

  • 为什么库乐队下载不了(为什么库乐队下不了百度网盘)

    为什么库乐队下载不了(为什么库乐队下不了百度网盘)

  • 饿了么如何送外卖(饿了么外卖怎么送)

    饿了么如何送外卖(饿了么外卖怎么送)

  • morpheus.exe是什么进程文件 作用是什么 morpheus进程查询(msoobe.exe是什么)

    morpheus.exe是什么进程文件 作用是什么 morpheus进程查询(msoobe.exe是什么)

  • 定时器 setTimeout、setInterval详解(定时器计数器实验报告)

    定时器 setTimeout、setInterval详解(定时器计数器实验报告)

  • uni-app——storage的使用(Storage、StorageSync)(uni.getstorage)

    uni-app——storage的使用(Storage、StorageSync)(uni.getstorage)

  • uniapp返回上一页并传递参数(uniapp返回上一页不刷新)

    uniapp返回上一页并传递参数(uniapp返回上一页不刷新)

  • c++常见关键字总结(c++32个关键字详解)

    c++常见关键字总结(c++32个关键字详解)

  • 企业所得税的征收对象是什么
  • 制单会计岗位实验报告
  • 车保险备注栏车船税如何记账
  • 跨期两年的发票怎么处理
  • 多开票要交多少税
  • 食品增值税专用发票可以退税吗?
  • 增值税电子发票能抵税吗
  • 行政人员出差预借差旅费需要预算会计吗
  • 企业之间无偿借款
  • 子公司的财报和母公司的财报并表吗
  • 由收款人签发,经付款人承兑
  • 股票转让所得不交增值税
  • 所得税汇算清缴表在哪里打印
  • 出口企业退税流程
  • 季度企业所得税申报表怎么填写
  • 普通硅酸盐水泥和矿渣硅酸盐水泥的区别
  • 季度销售额不超过30万,城建税减免
  • 销售款的印花税是按含税还是不含税价款申报?
  • 季度营业额超过6万需要补税
  • 付款凭证和记账凭证一样吗
  • 挂靠车辆可以抵扣进项税么?
  • 如何使用ChapGPT
  • 如何删除文档中多余的页
  • 其他综合收益属于什么类
  • macOS Big Sur 11.3 开发者预览版/公测版 Beta 6正式发布
  • 清算期间会计科目
  • 贷款损失准备是什么类科目
  • php设计模式及使用场景
  • php可以做什么脚本
  • 暂估入库结转成本账务处理
  • 公积金的扣款怎么取消
  • keyemain.exe是什么
  • php模拟get请求
  • 公司交社保需要承担多少费用
  • 产品工人工资属于制造费用吗
  • 水青冈是常绿还是落叶
  • 身份证php编写
  • yaf框架优缺点
  • Video Transformer | TimeSformer 理解+ 代码实战
  • 班迪录屏软件录制框怎样在ppt上一直指定
  • [九]深度学习Pytorch-transforms图像增强(剪裁、翻转、旋转)
  • linux部署tomcat的war包
  • web自动化测试项目
  • php date()
  • 消费者如何鉴别美的乐享三代风管机
  • python字典怎么添加值
  • 金税服务费必须交吗
  • 企业所得税如何征收
  • 用支票偿还货款
  • 帝国cms使用手册
  • 进项税额转出的进项税额如何处理
  • 财务软件怎么做红冲分录
  • 委外加工如何管理
  • mysql中的语法
  • mysql中如何设置默认值
  • 差旅费退回怎么做账
  • 债务抵销的条件
  • 可供出售权益工具公允价值的增加计入当期损益吗
  • 预提费用为什么是负债
  • 生产成本要如何核算
  • 固定资产装修费用如果符合固定资产
  • linux 解压.z
  • win7系统玩游戏
  • bootcamp您的磁盘未能分区
  • ubuntu中装虚拟机
  • 英文xp系统中文语言包
  • Eclipse引入jdk1.8
  • node 发邮件
  • django分层
  • shell脚本实现文件重命名
  • unity游戏开发的技术
  • 基于JAVASCRIPT实现的可视化工具是
  • javascript对象定义
  • 新公司税务登记完后还需要什么流程
  • 资源税选矿和原油的区别
  • 临时税务登记证是什么意思
  • 辽宁税务微信公众号
  • 税务数字证书怎么下载安装
  • 企业应交个人所得税分录
  • 城市维护建设税,教育费附加,地方教育费附加
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设