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

  • honor 20 lite是什么手机型号

    honor 20 lite是什么手机型号

  • 华为5pro耳机孔在哪(华为5耳机孔在哪)

    华为5pro耳机孔在哪(华为5耳机孔在哪)

  • 手机需要关机休息吗(手机适当关机休息几天好吗)

    手机需要关机休息吗(手机适当关机休息几天好吗)

  • 小米6支持多少瓦充电(小米6支持多少帧率)

    小米6支持多少瓦充电(小米6支持多少帧率)

  • 开发版切换为稳定版时会清除手机数据吗(开发版切换稳定版)

    开发版切换为稳定版时会清除手机数据吗(开发版切换稳定版)

  • 苹果手机的辅助触控为什么总是自动消失了(苹果手机的辅助圆圈那个怎么弄出来)

    苹果手机的辅助触控为什么总是自动消失了(苹果手机的辅助圆圈那个怎么弄出来)

  • IPv4地址由多少位二进制正整数表示(ipv4地址由多少组)

    IPv4地址由多少位二进制正整数表示(ipv4地址由多少组)

  • 华为底部的三个按钮在哪里设置(华为底部的三个按钮怎么隐藏)

    华为底部的三个按钮在哪里设置(华为底部的三个按钮怎么隐藏)

  • 手机系统升级后没有声音了怎么解决(手机系统升级后充电慢怎么办)

    手机系统升级后没有声音了怎么解决(手机系统升级后充电慢怎么办)

  • 华为手机怎么下载QQ(华为手机怎么下载歌曲到u盘)

    华为手机怎么下载QQ(华为手机怎么下载歌曲到u盘)

  • 抖音提现多长时间到账(抖音提现多长时间到支付宝)

    抖音提现多长时间到账(抖音提现多长时间到支付宝)

  • 苹果x和苹果6哪个屏幕大(苹果x和苹果6哪个好一点)

    苹果x和苹果6哪个屏幕大(苹果x和苹果6哪个好一点)

  • dos目录是什么结构(dos目录命令)

    dos目录是什么结构(dos目录命令)

  • word一键删除表格内容(word批量删除表格)

    word一键删除表格内容(word批量删除表格)

  • 华为手机按键设置在哪里(华为手机按键设置怎么设置)

    华为手机按键设置在哪里(华为手机按键设置怎么设置)

  • ios13怎么隐藏dock(ios13怎么隐藏app)

    ios13怎么隐藏dock(ios13怎么隐藏app)

  • 华为p30拍星星怎么设置(华为p30p拍星星参数)

    华为p30拍星星怎么设置(华为p30p拍星星参数)

  • ios13怎么信任描述文件(ios13.7如何信任app)

    ios13怎么信任描述文件(ios13.7如何信任app)

  • 超话怎么看自己的帖子(超话怎么看自己被屏蔽了几天)

    超话怎么看自己的帖子(超话怎么看自己被屏蔽了几天)

  • 苹果mt762ch是什么型号(苹果手机型号mt762ch/a多少钱)

    苹果mt762ch是什么型号(苹果手机型号mt762ch/a多少钱)

  • mate20有没有熄屏显示

    mate20有没有熄屏显示

  • 腾讯文件有ios版吗(腾讯文件app下载ios)

    腾讯文件有ios版吗(腾讯文件app下载ios)

  • gtx970有多少个流处理器

    gtx970有多少个流处理器

  • 搜狗怎么添加emoji(搜狗怎么添加德语输入法)

    搜狗怎么添加emoji(搜狗怎么添加德语输入法)

  • 苹果生态系统是什么(苹果生态系统好在哪里)

    苹果生态系统是什么(苹果生态系统好在哪里)

  • 微信怎么发表状态(微信怎么发表状态之后朋友圈可以看到吗)

    微信怎么发表状态(微信怎么发表状态之后朋友圈可以看到吗)

  • uc隐藏相册在哪里(uc隐藏相册在哪里打开)

    uc隐藏相册在哪里(uc隐藏相册在哪里打开)

  • 香港手机号格式(香港手机号格式 顺丰)

    香港手机号格式(香港手机号格式 顺丰)

  • 【CV大模型SAM(Segment-Anything)】真是太强大了,分割一切的SAM大模型使用方法:可通过不同的提示得到想要的分割目标(cvg模型)

    【CV大模型SAM(Segment-Anything)】真是太强大了,分割一切的SAM大模型使用方法:可通过不同的提示得到想要的分割目标(cvg模型)

  • 税收对国家的影响及地位
  • 息税前利润怎么算
  • 财务报表没报会影响出口退税吗为什么
  • 个体工商户属于非法人组织吗
  • 实用9%税率的
  • 借款利息抵扣土增
  • 一季度季初从业人数
  • 进口发票可以抵扣吗
  • 增值税发票丢了怎么办?
  • 汽车4s店索赔和维修
  • 土地使用权计入存货吗
  • 不同的银行存款会收手续费吗
  • 开票系统维护费计入什么科目
  • 城建税税收减免政策
  • 可以对开发票吗
  • 营改增之前
  • 只转让地上的建筑怎么办
  • 外籍劳务费个税扣除标准
  • 个税申报状态失败
  • 未确认融资费用摊销额怎么计算
  • 公司工资分两次发放算逃税吗
  • 收购发票使用范围税收规定
  • 服务业成本会计分析
  • 结转已经销售商品成本的分录
  • deepin如何设置网络
  • 生物制品可以开箱验货吗
  • 怎么关闭windows11自动更新
  • 城建税的会计账务处理
  • 继续涉入资产会计处理
  • 产品出库单什么时候入账
  • php获取文件内容
  • 房租违约金怎么开发票
  • nodemon卸载
  • 没有实收资本可以投资吗
  • 看了这篇文章感触很深的说说
  • 让我用用你的计算机
  • php实现多语言切换
  • 百分之十三增值税发票能抵扣多少?
  • 固定资产月末怎么结转
  • 帝国cms如何做网站
  • 建立access数据库一般需要五个步骤
  • 小规模增值税申报未开票收入怎么填
  • 发票已抵扣但对方要红冲账务处理
  • 负债与所有者权益比率计算公式
  • 城建税退税分录怎么做
  • 私车公用属于违反什么纪律
  • 产品因质量问题换新质保期如何计算
  • 追加固定资产原值如何计提折旧
  • 零申报报表怎么填写
  • 劳务公司机械租赁费列入什么费用
  • 暂估入库一直未取得发票需要调账吗
  • 去年的招待费做什么科目
  • 专项应付款贷方余额表示
  • 开发票系统税号0和o怎么区别?
  • 基本户转法人个人账户如何做账
  • 应收账款的账户余额
  • 消费税的科目设置在哪里
  • sqlserver将查询结果作为临时表
  • mysql案例分析
  • sqlserver 触发器 redis
  • 无法启动diagnostic policy service服务
  • 联想y400装win8
  • uzqkst.exe - uzqkst是什么进程
  • linux操作系统安装方法有哪几种
  • win10系统命令大全
  • win10系统开机桌面图标不见了
  • 在linux中使用什么命令可以执行shell脚本
  • win7系统删除密码
  • opengl缓冲区
  • js let语句
  • nodejs的require
  • node.js 模块
  • retrofit提交表单
  • 通用申报表水利基金怎么填
  • 浙江电子税务开票系统
  • 虚假新闻造成的真实伤害
  • 河南林州在哪三省交界处
  • 得之于社会要回馈社会的感想
  • 江苏房产税如何计算公式
  • 新开公司交印花税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设