《R语言与农业数据统计分析及建模》学习——数字图像处理

news2024/11/26 10:02:18

        数字图像处理(digital  image processing)又称计算机图像处理,它是指将图像信号转换成数字信号并利用数字图像处理计算机对其进行处理的过程。

        常见的数字图像处理是通过计算机对图像进行去除噪声增强复原分割提取特征等处理。

        R语言中使用EBImage图像处理包:能够在R语言环境下进行信号处理、统计建模、机器学习和图像数据可视化。

# 安装EBIamge包

install.packages("BiocManager")

BiocManager::install("EBImage")

1、图像的读入与显示

        把图片放入工作路径,使用system.file函数读入。

# 载入EBImage包
library(EBImage)
# 读入图像
f<-system.file("images","sample-color.png",package='EBImage')
# 查看图像
img<-readImage(f)
display(img)
# 查看直方图
hist(img)

2、图像的三基色

        图片实际上是由RGB三个通道混合而成的,每个通道都反映着各自的颜色信息。

        channel函数:用于处理图像颜色空间通道之间的转换。

# 查看R单通道
img_r<-channel(img,"R")
display(img_r)
# 查看G单通道
img_g<-channel(img,"G")
display(img_g)
# 查看B单通道
img_b<-channel(img,"B")
display(img_b)

3、图像的灰度图

        EBImage包中使用统一的1/3RGB权重将彩色图像转换为灰度图像。公式如下:

0.2126\times R+0.7152\times G+0.0722\times B

# 生成灰度图
img_gray<-channel(img,"gray")
# 显示灰度图
display(img_gray)
# 灰度直方图
hist(img_gray)

4、图像的四则运算

        图像是以矩阵或者数组的形式存储的,对其进行加减乘除数学运算,可以实现图像亮度的增强与减弱。

# 加载EBImage包
library("EBIamge")
# 读入图像
f<-system.file("images",
               "sample-color.png",
               package="EBImage")
img<-readImage(f)
# 四则运算
display(img+0.5)
display(img-0.5)
display(img*0.5)
display(img/0.5)

5、图像的反色与乘方

        通过1-图像,实现图像反色处理,在有些时候可以有效的提取图像的信息。

        图像的乘方操作会使数值小的像素点变得更小最后趋于0,而本身为1的白像素点保持不变。

# display(1-img)

# 乘方

display(img^4)

display(img^0.05)

6、图像的合并与差分

        通过两张图像的加减可以实现图像的合并与差分。效果展示如下:

7、裁剪、缩放、平移

        EBImage包中提供了translate、resize、rotate等函数来实现图像的平移、尺寸缩放、旋转、平移等操作。

# 图像裁剪
img_crop<-img[366:768,58:512,1:3]
display(img_crop)
# 图像缩放
img_re<-resize(img,w=128,h=85)
display(img_re)
# 图像平移
img_translate<-translate(img,c(100,-50))
display(img_translate)
# 图像旋转
img_rotate<-rotate(img,30,bg.col="yellow")
display(img_rotate)
# 图像转置
img_t<-transpose(img)
display(img_t)
# 图像沿y轴反转
img_flip<-flip(img)
display(img_flip)
# 图像沿x轴反转
img_flop<-flop(img)
display(img_flop)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1639473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息管理与信息系统就业方向及前景分析

信息管理与信息系统(IMIS)专业的就业方向十分广泛&#xff0c;包含计算机方向、企业信息化管理、数据处理和数据分析等&#xff0c;随着大数据、云计算、人工智能、物联网等技术的兴起&#xff0c;对能够处理复杂信息系统的专业人才需求激增&#xff0c;信息管理与信息系统就业…

数据分析:基于DESeq2的转录组功能富集分析

介绍 DESeq2常用于识别差异基因&#xff0c;它主要使用了标准化因子标准化数据&#xff0c;再根据广义线性模型判别组间差异&#xff08;组间残差是否显著判断&#xff09;。在获取差异基因结果后&#xff0c;我们可以进行下一步的富集分析&#xff0c;常用方法有基于在线网站…

Mac 安装 JDK21 流程

一、下载JDK21 访问Oracle官方网站或选择OpenJDK作为替代品。Oracle JDK从11版本开始是商业的&#xff0c;可能需要支付费用。OpenJDK是一个免费开源选项。 Oracle JDK官方网站&#xff1a;Oracle JDK Downloads OpenJDK官方网站&#xff1a;OpenJDK Downloads 这里以JDK21为…

Servlet详解(从xml到注解)

文章目录 概述介绍作用 快速入门Servelt的执行原理执行流程&#xff1a;执行原理 生命周期概述API 服务器启动&#xff0c;立刻加载Servlet对象(理解)实现Servlet方式(三种)实现Servlet接口实现GenericServlet抽象类&#xff0c;只重写service方法实现HttpServlet实现类实现Htt…

uni-app scroll-view隐藏滚动条的小细节 兼容主流浏览器

开端 想写个横向滚动的列表适配浏览器&#xff0c;主要就是隐藏一下滚动条在手机上美观一点。 但是使用uni-app官方文档建议的::-webkit-scrollbar在目标标签时发现没生效。 .scroll-view_H::-webkit-scrollbar{display: none; }解决 F12看了一下&#xff0c;原来编译到浏览…

基于 Wireshark 分析 IP 协议

一、IP 协议 IP&#xff08;Internet Protocol&#xff09;协议是一种网络层协议&#xff0c;它用于在计算机网络中实现数据包的传输和路由。 IP协议的主要功能有&#xff1a; 1. 数据报格式&#xff1a;IP协议将待传输的数据分割成一个个数据包&#xff0c;每个数据包包含有…

Ant Design助力:实现用户列表的优雅展示与管理

文章目录 概要前端讲解登录组件注册组件用户列表组件 后端讲解连接数据库db.js路由routes.jsexpress应用app.js 启动项目小结 概要 在上一篇博客&#x1f6aa;中&#xff0c;我们已经成功实现了登录注册系统的基本功能。现在&#xff0c;我们将进一步完善系统&#xff0c;实现…

第一课 自动驾驶概述

1. contents 2. 什么是无人驾驶/自动驾驶 3 智慧出行大智慧 4. 无人驾驶的发展历程

用户中心(末)

文章目录 开发用户注销前后端后端前端 补充用户注册校验逻辑前后端设计后端前端 后端代码优化封装通用返回对象封装全局异常处理全局请求日志和登录校验 TODO 前端代码优化 开发用户注销前后端 后端 当用户登录成功之后&#xff0c;我们在请求体的 session 中保存了用户的登录…

一对一WebRTC视频通话系列(一)—— 创建页面并显示摄像头画面

本系列博客主要记录WebRtc实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 一、创建html页面 简单添加input、button、video控件的布局。 <html><head><title>WebRTC demo</title></head><h1>…

vue2(4)之scoped解决样式冲突/组件通信/非父子通信/ref和$refs/异步更新/.sync/事件总线/provide和inject

vue2 一、学习目标1.组件的三大组成部分&#xff08;结构/样式/逻辑&#xff09;2.组件通信3.综合案例&#xff1a;小黑记事本&#xff08;组件版&#xff09;4.进阶语法 二、scoped解决样式冲突**1.默认情况**&#xff1a;2.代码演示3.scoped原理4.总结 三、data必须是一个函数…

自动驾驶规划与控制技术解析

目录 1. 自动驾驶技术 2.定位location 3. 地图HD Map ​编辑 4 预测prediction 5 自动驾驶路径规划 6. 自动驾驶路径规划 7. 规划planning 8. 视频路径 1. 自动驾驶技术 2.定位location 3. 地图HD Map 4 预测prediction 5 自动驾驶路径规划 6. 自动驾驶路径规划 7.…

IDEA 2022.1版本开始,可以直接运行Markdown里的命令行

参照这种格式&#xff1a; shell mvn clean install注意idea支持的版本&#xff1a;是从 2022.1版本开始的。 ps&#xff1a;之前有人写过了&#xff0c;感觉很实用但是蛮多开发者不一定会知道的功能。 参考资料&#xff1a; https://www.cnblogs.com/didispace/p/16144107.h…

2.4Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue组件

初识Vue组件 Vue中的组件是页面中的一部分&#xff0c;通过层层拼装&#xff0c;最终形成了一个完整的组件。这也是目前前端最流行的开发方 式。下面是Vue3官方给出的一张图&#xff0c;通过图片能清楚的了解到什么是Vue中的组件。 图的左边是一个网页&#xff0c;网页分为了…

革新DNA存储:DNA-QLC编码方案高效可靠,多媒体图像存储新时代启航

在数字信息爆炸的时代&#xff0c;传统存储介质正面临容量、持久性和能耗的极限挑战。为此&#xff0c;大连理工大学计算机科学与技术学院的研究团队在《BMC基因组学》发表了一篇开创性论文&#xff0c;介绍了一种名为DNA-QLC的创新编码方案&#xff0c;为DNA存储系统的高效性和…

基于免疫粒子群算法的考虑负荷需求相应的热电联供系统优化调度(MATLAB实现)

1.研究背景 随着“双碳”战略的提出&#xff0c;各种分布式能源的开发和利用收到越来越多的重视。冷热电联供(Combined Cooling Heating and Power, CCHP)系统在发电的同时可以将燃气轮机产生的废热用于制热或制冷&#xff0c;实现能量的梯级利用&#xff0c;并减少系统的污染气…

【热门话题】PostCSS:现代前端开发中的CSS增强工具

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 PostCSS&#xff1a;现代前端开发中的CSS增强工具一、引言二、PostCSS简介2.1 核…

前端工程化04-VsCode插件设置总结(持续更)

1、输出语句log设置 log输出、平常你输出log,还必须得打一个console然后再.log()非常不方便&#xff0c;当然我们可以直接输入一个log,但是提示有两个&#xff0c;我们还得上下选择 所以我们直接采用插件的提示 一个clg就可以了 2、括号包裹提示 找到VsCode的settings.js文…

学习java的继承

1.什么是继承 java中提供了一个关键字&#xff0c;extends&#xff0c;可以让一个类与另一个类建立起父子关系。 例如 public class B extends A { --- } 在这里&#xff0c;我们称A类为父类&#xff08;也被称为基类或者超类&#xff09;B类称为子类&#xff08;或者是派生…

汉王科技亮相世界数字健康论坛:以AI定义第四代血压计

作为科技行业的年度盛会&#xff0c;2024年中关村论坛年会于近日在北京揭幕。 作为中关村知名的人工智能企业&#xff0c;汉王科技携大模型的最新垂直应用、柯氏音法电子血压计等创新成果&#xff0c;在4月29日中关村论坛平行论坛“2024世界数字健康论坛”上亮相。 在《AI赋能血…