图像属性操作

news2024/9/25 13:20:35

  数字图像处理本质是对多维矩阵的操作。按照处理对象不同,可分为黑白图像处理,灰度图像处理,彩色图像处理。按照处理方法分为空间域处理和频域处理。按照策略分为全局处理和局部处理。

#一般步骤
 输入图像       多维数组    数组运算     图像格式
>图像数字化   ->图像表示 -> 图像处理 ->  图像存储

基本属性操作

亮度操作

对比度操作

颜色通道操作

基本属性操作

亮度操作

  亮度也称灰度·,是颜色明暗变化的范围,常用0%-100%表示。一般数字图像像素亮度位0-255,可以通过对像素构成的矩阵灰度值进行操作,达到调整调整图像亮度的目的。

对比度操作

  对比度指图像亮暗落差值(图像最大灰度值和最小灰度值之间的差值)。设原像素灰度位f(i,j)

 转化后像素灰度位g(i,j),常用线性变化:g(i,j)=a*f(i,j)+b,系数a影响图像对比度,系数b影响图像亮度。

a=1原图

a>1对比度增强,图像更清晰;

a<1对比度减弱,图像变暗

b影响图像亮度,随着增加b(b>0)或减小b,图像整体灰度值上移或下移,不会改变图像对比度。

from skimage import io
from matplotlib import pyplot as plt
import numpy as np  # 导入所需类包


# 改变对比度函数
def change_ratio(im, a):
    im_change = np.zeros(shape=im.shape, dtype='uint8')
    for i in range(im.shape[0]):
        for j in range(im.shape[1]):
            for k in range(im.shape[2]):
                if im[i, j, k] * a > 255:
                    im_change[i, j, k] = 255;
                elif im[i, j, k] * a < 0:
                    im_change[i, j, k] = 0;
                else:
                    im_change[i, j, k] = im[i, j, k] * a
    return im_change


im = io.imread("Jo.jpg")
plt.imshow(im)
plt.show()
im_change = change_ratio(im, 0.68)
plt.imshow(im_change)
plt.show()

原图:

改变对比度后:

 整体变暗。

颜色通道操作

  数字图像本质是一个多维矩阵,彩色图像是一个三位矩阵,灰度和黑白图像由二维矩阵表示。彩色图像一般分为红,绿,蓝3个颜色通道,每个颜色通道对应一个完整的二维矩阵。可以对这三个二维矩阵操作,达到操作图像通道的目的。

对图像三个颜色通道进行分离:

from skimage import io
from matplotlib import pyplot as plt

# 导入所需类包


img = io.imread("Jo.jpg")
# 分别取出红,绿,蓝三个颜色通道
img_r = img[:, :, 0]
img_g = img[:, :, 1]
img_b = img[:, :, 2]
plt.imshow(img)
plt.show()
# 分别展示三个通道
plt.subplot(2, 2, 1)
io.imshow(img_r)
plt.subplot(2, 2, 2)
io.imshow(img_g)
plt.subplot(2, 2, 3)
io.imshow(img_b)

plt.show()

原图:

取出颜色通道后的图像:

   我们现在拥有三个颜色通道,尝试互换三个颜色通道:

from skimage import io
from matplotlib import pyplot as plt

# 导入所需类包


img = io.imread("Jo.jpg")
# 分别取出红,绿,蓝三个颜色通道
img_r = img[:, :, 0]
img_g = img[:, :, 1]
img_b = img[:, :, 2]
#红色蓝色互换
tmp=img_r
img_r=img_b
img_b=tmp
#互换后通道颜色赋值给图像
img[:,:,0]=img_r
img[:,:,2]=img_b
#显示图像
plt.imshow(img)
plt.show()

颜色通道互换后:

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

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

相关文章

排序算法:堆排序,快速排序,归并排序。内附完整代码和算法思路详解。

目录 一&#xff1a;堆排序 1.1&#xff1a;堆的数据结构 1.2&#xff1a;大小根堆 1.3&#xff1a;向下调整算法构建小根堆 1.4&#xff1a;堆排序思想 二&#xff1a;快速排序 2.1&#xff1a;快排单趟思想 三&#xff1a;归并排序 3.1&#xff1a;分组过程 3.2&am…

JSP ssh学习管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh学习管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Mye…

MMDetection框架入门教程之环境部署

创建虚拟环境 打开Anaconda Prompt&#xff0c;创建一个新的虚拟环境mmlab。注意我这里选择了python3.6&#xff0c;因为在python3.7下出现了mmdet3d.apis中的类无法无法import的情况&#xff08;但mmdet3d可以import&#xff09;&#xff0c;暂时不清楚原因。 conda create …

SQLSERVER,求平均数,最大,最小,中位数,众数

SQLSERVER&#xff0c;求平均数&#xff0c;最大&#xff0c;最小&#xff0c;中位数&#xff0c;众数 SQLSERVER&#xff0c;求平均数&#xff0c;最大&#xff0c;最小&#xff0c;中位数&#xff0c;众数 SELECT -- *, t1.remark, t1.my_count, t1.my_sum, …

ArcGIS Python ​影像批量裁剪

该工具在&#xff1a;“14综合\工具箱.tbx\影像裁剪\按记录批量裁剪影像”&#xff0c;影像数据按矢量面要素批量裁剪&#xff0c;界面如图14-5所示。 图14-5 影像批量裁剪 按一个矢量面数据&#xff0c;按字段值相同的融合在一起裁剪影像&#xff0c;字段值是裁剪后的影像名字…

【再学Tensorflow2】TensorFlow2的高层封装

TensorFlow2的高层封装使用Tensorflow2构建模型的3种方法使用Sequential按层顺序构建模型使用函数式API创建任意结构的模型使用Model子类化创建自定义模型训练模型的3种方法内置fit方法内置train_on_batch方法自定义训练循环使用GPU训练模型使用单GPU训练模型使用多GPU训练模型…

ti3090安装cuda113+cudnn+anaconda+yolopose过程

wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run sudo sh cuda_11.3.1_465.19.01_linux.run 如果有了nvidia driver&#xff0c;可以不用install driver选项。 配置环境变量&#xff1a; export PATH“/…

十一、kubernetes核心技术Label详解、实例

1、概述 Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识&#xff0c;用来对它们进行区分和选择。 Label的特点&#xff1a; 一个Label会以key/value键值对的形式附加到各种对象上&#xff0c;如Node、Pod、Service等等 一个资源对象可以定义任意数量的…

【技术博客】文本挖掘之LDA主题模型

文本挖掘之LDA主题模型 作者&#xff1a;郑培 引言 主题模型是文本挖掘的重要工具&#xff0c;近年来在工业界和学术界都获得了非常多的关注。在文本挖掘领域&#xff0c;大量的数据都是非结构化的&#xff0c;很难从信息中直接获取相关和期望的信息&#xff0c;一种文本挖掘…

ArcGIS基础实验操作100例--实验23提取栅格有效边界值

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验23 提取栅格有效边界值 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;…

sqlserver 求平均数,中位数,众数

sqlserver 求平均数&#xff0c;中位数&#xff0c;众数 sqlserver 聚合函数结合 窗口函数的巧妙使用。 SELECT -- *, t1.remark, t1.my_count, t1.my_sum, t1.my_avg, t1.my_min, t1.my_max, /*my_median : 中位数*/ t2.my_median, /*my_mos…

保姆教程系列二、Redis高可用(主从同步+哨兵模式)

系列文章目录 &#xff01;&#xff01;&#xff01;是的没错&#xff0c;胖友们&#xff0c;保姆教程系列又更新了&#xff01;&#xff01;&#xff01; 保姆教程系列一、Redis部署 so easy 保姆教程系列二、Redis高可用&#xff08;主从同步哨兵模式&#xff09; 保姆教程系…

2008-2020年上市公司环境治理费用

2008-2020年上市公司环境治理费用 1、时间区间为&#xff1a;2008-2020年 2、指标包括&#xff1a;统计截止日期、证券代码、证券简称、本期金额、上期金额、上市公司排污费、环保费、绿化费、环保支出等有关环境治理费用 3、指标说明&#xff1a; EndDate [统计截止日期] …

ArcGIS基础实验操作100例--实验22NoData数据处理

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验22 NoData数据处理 目录 一、实验背景 二、实验数据 三、实验步骤 方法一&#xff1…

Linux网络协议之以太网协议(数据链路层)

Linux网络协议之以太网协议(数据链路层) 文章目录Linux网络协议之以太网协议(数据链路层)1.数据链路层解决的问题2.以太网协议2.1 认识以太网2.2 以太网帧格式2.3 认识MAC地址2.4 MAC地址与IP地址的区别3.ARP协议3.1 ARP协议的作用3.2 ARP数据报格式3.3 ARP协议工作流程3.4 ARP…

数据结构——基本术语

数据 数据能输入且被被计算机处理的符号集合。数据包括数值型数据和非数值型数据。非数值类型包括图&#xff0c;文字等 数据项和数据元素 数据元素时数据的基本单位&#xff0c;在计算机中通常被当作一个整体处理 也简称为元素&#xff0c;或者记录 数据元素又可以被若干个…

LaTeX环境的安装和配置 (vscode版)

目录下载Latex镜像文件安装镜像检验是否安装成功第一个Latex文件在vscode中使用latex支持中文编译引用下载Latex镜像文件 访问清华镜像网站&#xff0c;进行latex2022的下载 网站地址如下&#xff1a;latex_清华镜像 选择后缀名为.iso的文件进行下载即可 安装镜像 下载完成之…

CloudCanal对Online DDL 工具 GH-OST 和 PT-OSC 的支持

简介 CloudCanal 实现了对 Online DDL 工具如 GH-OST 和 PT-OSC 的支持&#xff0c;保证了对端实时同步源端的 Online DDL 操作。 本文以 MySQL -> MySQL 同步链路使用 GH-OST 为例&#xff0c;介绍 CloudCanal 是如何支持实时同步 GH-OST 产生的 DDL 的。 Online DDL 技…

CentOS7版本中mysql卸载和安装步骤问题汇总记录--2020-12-29

目录一、如何卸载1.1 查询系统是否安装了MySQL1.2 关闭MySQL服务1.3 删除MySQL安装的服务1.4 删除MySQL相关的文件夹二、如何安装2.1 下载MySQL5.7安装包2.2 安装MySQL2.3 配置MySQL2.3.1 初始化数据库2.3.2 配置开机自启2.3.3 启动MySQL服务2.3.4 登录MySQL进行初始化参考文献…

【开源项目】消息队列XXL-MQ源码解析

消息队列XXL-MQ源码解析 项目介绍 XXL-MQ是一款轻量级分布式消息队列&#xff0c;拥有 “水平扩展、高可用、海量数据堆积、单机TPS过10万、毫秒级投递” 等特性, 支持 “并发消息、串行消息、广播消息、延迟消息、事务消费、失败重试、超时控制” 等消息特性。现已开放源代码…