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

  • 快手历史记录怎么删除(快手历史记录怎么找不到了)

    快手历史记录怎么删除(快手历史记录怎么找不到了)

  • 苹果13怎么分期购买(苹果13怎么分期购买手机)

    苹果13怎么分期购买(苹果13怎么分期购买手机)

  • 小米10青春版的尺寸(小米10青春版的文件管理在哪里)

    小米10青春版的尺寸(小米10青春版的文件管理在哪里)

  • 荣耀play4pro刷新率是多少(荣耀play4pro刷屏率是多少)

    荣耀play4pro刷新率是多少(荣耀play4pro刷屏率是多少)

  • 文本筛选怎么设置(文本筛选怎么设置多个数据)

    文本筛选怎么设置(文本筛选怎么设置多个数据)

  • sql语言具有哪三个常见功能(sql语言具有哪三大功能)

    sql语言具有哪三个常见功能(sql语言具有哪三大功能)

  • 华为mate30pro密码忘记了怎么办(华为mate30pro密码忘了怎么解锁)

    华为mate30pro密码忘记了怎么办(华为mate30pro密码忘了怎么解锁)

  • 华为mpencil连不上(华为mpencil连不上蓝牙也充不上电)

    华为mpencil连不上(华为mpencil连不上蓝牙也充不上电)

  • 摄像头开了是不是亮红灯(摄像头开了是不是亮蓝灯)

    摄像头开了是不是亮红灯(摄像头开了是不是亮蓝灯)

  • 抖音投放历史怎么删除(抖音投放历史怎么看)

    抖音投放历史怎么删除(抖音投放历史怎么看)

  • 小米手机被监控了怎么解除(小米手机被监控如何反监控)

    小米手机被监控了怎么解除(小米手机被监控如何反监控)

  • iphone7plus分屏功能(苹果七plus分屏功能)

    iphone7plus分屏功能(苹果七plus分屏功能)

  • oppo手机接听不到电话(oppo手机为什么接电话听不到声音)

    oppo手机接听不到电话(oppo手机为什么接电话听不到声音)

  • 苹果11微信有办法美颜吗(苹果11有微信锁吗)

    苹果11微信有办法美颜吗(苹果11有微信锁吗)

  • word怎么设置每行多少字(word怎么设置每行字数)

    word怎么设置每行多少字(word怎么设置每行字数)

  • 小米手机怎么局部截图(小米手机怎么局部录屏)

    小米手机怎么局部截图(小米手机怎么局部录屏)

  • 华为p30pro有什么特别功能(华为p30pro有什么新功能)

    华为p30pro有什么特别功能(华为p30pro有什么新功能)

  • mate20指纹识别在哪(mate20的指纹太难用了)

    mate20指纹识别在哪(mate20的指纹太难用了)

  • mate20息屏显示时间怎么设置

    mate20息屏显示时间怎么设置

  • 苹果x手机有闪充功能吗(苹果x手机闪屏花屏跳屏)

    苹果x手机有闪充功能吗(苹果x手机闪屏花屏跳屏)

  • 口碑红包点外卖能用吗(口碑外卖津贴怎么用)

    口碑红包点外卖能用吗(口碑外卖津贴怎么用)

  • 音频(一)时域图、 频谱图 Spectrum(音频的时域波形)

    音频(一)时域图、 频谱图 Spectrum(音频的时域波形)

  • 首个ChatGPT开发的应用上线;ChatMind思维导图工具;中文提示词大全;Copilot平替 | ShowMeAI日报

    首个ChatGPT开发的应用上线;ChatMind思维导图工具;中文提示词大全;Copilot平替 | ShowMeAI日报

  • 产品含税价格加10个点不含税扣掉8个点合理吗
  • 税控系统技术维护费可以抵扣吗
  • 房产证印花税如何计算
  • 物资采购账务处理方法
  • 赔付伤残费用还有误工费用么
  • 划转税务的非税收入2023
  • 个税个人减免
  • 环保罚款计入什么会计科目
  • 商场采用联营方式的原因
  • 关联方往来款项余额
  • 企业所得税弥补亏损年限
  • 跨季度的发票怎么冲销
  • 增值税普通发票需要交税吗
  • 开发商开临时发票
  • 固定资产房屋折旧年限及残值
  • 财政总预算会计分为三级
  • 收回长期股权投资账务处理成本法
  • 兼职人员工资个税怎么申报
  • 国税地税纳税申报
  • 注册资本金认缴制
  • 公允价值变动损益在利润表哪里
  • m1 mac 恢复出厂
  • WIN10专业版永久激活
  • win7为什么不能安装软件
  • 预付账款补付货款分录
  • 主板清除bios
  • 扶贫入股分红政策
  • 公司自有房屋出租 没有从租计征房产税
  • win10下载软件被阻止安装怎么办
  • 如何使用dashboard
  • php chm
  • 联想thinkpad l380yoga
  • yolov5 教程
  • vue实现鼠标悬浮 显示全部内容
  • 转销股票会计分录
  • 达摩院 2021
  • java继承的基本概念
  • opencv的函数
  • php上传照片
  • 慰问金计入什么预算科目
  • 水利基金忘记申报怎么查
  • 企业开具劳务费发票怎么开,税率多少
  • 印花税减免退回会计分录
  • 贷款利息发票可以随便开吗
  • python mad
  • 抵账的多余款是什么科目
  • 织梦cms怎么样
  • .dot python
  • 王凤林阴盘奇门实例讲解
  • 不征税收入和免税收入有哪些项目
  • 预计资产负债表和预计利润表构成了整个财务预算
  • sqlserver避免死锁
  • 长期股权投资追溯调整有几种情况
  • 汇算清缴职工教育经费
  • 计提资产减值准备时,借记的科目是
  • 工资的内容包括很多项
  • 投资收益在什么科目
  • 营改增土地出让金抵减销售额如何做账及申报纳税的...
  • 销售方会计分录
  • 以前年度调整
  • mysql序列函数
  • 防止黑客入侵的有效做法
  • windowsserver2008密码规则
  • vmware 启动虚拟机
  • windows10电脑重置电脑
  • 电脑重装win7系统黑屏
  • ubuntu安装chia
  • dae是什么文件
  • centos设置双网卡
  • Android游戏开发实践指南
  • windows visual studio 基于openGL的粒子系统设计
  • centos打开shell
  • 一个治疗Unity的Prefab强迫症患者的小招(Prefab变成红色的问题)
  • android开源app
  • 杭州电子税务局注册流程
  • 税务协查函格式 范文
  • 广东省地方税务局发票查询
  • 社保归国税还是地税
  • 江苏国税,地税怎么交
  • 发票 报销流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设