图像属性操作

news/2024/5/4 6:24:38/文章来源:https://blog.csdn.net/weixin_51882166/article/details/128496590

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

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

基本属性操作

亮度操作

对比度操作

颜色通道操作

基本属性操作

亮度操作

  亮度也称灰度·,是颜色明暗变化的范围,常用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] * areturn im_changeim = 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.luyixian.cn/news_show_241682.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3入门基础(03)数据结构

Python3 数据结构 Python3 中有四种标准的数据结构&#xff1a; List&#xff08;列表&#xff09;Tuple&#xff08;元组&#xff09;Set&#xff08;集合&#xff09;Dictionary&#xff08;字典&#xff09; Python 3 的六个标准数据类型中&#xff1a; 不可变数据&…

磨金石教育摄影技能干货分享|优秀艺术类摄影作品欣赏

前面我们分析过纪实类摄影和创意类摄影&#xff0c;艺术类还是第一次讲。 它与纪实类的不同点在于&#xff0c;艺术类摄影更注重作者的主观感受&#xff0c;更侧重个人创造性。 摄影师和画家一样&#xff0c;在经历过人生的挫折、现实与理想交织&#xff0c;内心世界往往是丰富…

塔望3W消费战略案丨聚焦川崎火锅料,回归赛道一梯队

川崎 火锅料 客户&#xff1a;上海新川崎食品有限公司 品牌&#xff1a;川崎 服务&#xff1a;3W消费战略 品牌全案 项目背景 上世纪90年代&#xff0c;一句“吃火锅&#xff0c;没川崎怎么行”&#xff0c;响彻大江南北&#xff0c;让川崎走进千家万户&#xff0c;成为当时…

scaner从外网到内网域渗透笔记

scaner 从外网到内网域渗透 1.环境配置 1.1靶场信息 用到的虚拟机共有三个 分别是 12server-db 、12-dc 、web1 12server-db、web1 这两个可以使用桥接或者nat模式根据需求可以设置 网卡1 12-dc用的是VMnet 19 这台机子已经绑定ip 主机名ip账号和密码web1192.168.0.160we…

我司赤城弘一CEO受邀参加东盟与中日韩中小企业人工智能产业论坛并做主旨发言。

我司赤城弘一CEO受邀参加东盟与中日韩中小企业人工智能产业论坛并做主旨发言。 一、活动背景 为推动东盟与中日韩&#xff08;103&#xff09;中小企业服务联盟务实合作&#xff0c;帮助中小企业提高生产力和技术创新能力&#xff0c;进一步提高国际化发展水平&#xff0c;促进…

2023新一代设备管理系统助力企业高效化巡检

设备数量和种类都比较多的情况下&#xff0c;工厂设备管理员的工作往往压力巨大&#xff0c;因为生产环环相扣&#xff0c;每一个环节如果出现问题&#xff0c;都会影响到生产。如果隐患不能及时处理&#xff0c;会影响设备的正常和安全运转&#xff0c;严重的会波及到周围相关…

Python3 | vscode配置环境

vscode版本&#xff1a;1.74.2python版本&#xff1a;3.9.0win10系统 准备工作&#xff0c;在win10系统 1&#xff0c;安装python3&#xff0c;配置环境变量2&#xff0c;安装vscode 接下来&#xff1a;就可以在vscode配置python环境 1&#xff0c;下载和安装python插件 快…

yapi的安装

Yapi的安装 Yapi是一款不错的接口管理软件&#xff0c;我主要用它来进行接口Mock。 Yapi安装所需环境&#xff1a; Node.js&#xff08;7.6&#xff09;Mongodb&#xff08;2.6&#xff09;git 各环境安装地址&#xff1a; git&#xff1a;https://git-scm.com/downloadsN…

mac vscode安装dart

1.安装Dart 1.安装下载Dart的工具 官网&#xff1a;https://brew.sh/ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"如果遇到 zsh: command not found: brew /bin/zsh -c "$(curl -fsSL https://gite…

【图像算法】pytesseract简单实现图片数字识别

【前置目的】 识别视频中是否包含目标元素&#xff1b; 抽象自动化&#xff0c;就是处理一段含有时间戳的视频&#xff1b; 再核心就是对视频进行图片裁减&#xff0c;识别出图片中的数字&#xff0c;做数学计算延时。 【学习地址】 环境&#xff1a;mac、python3、pytesserac…

强大的ANTLR4(2)

每次在命令行里输入文本有点麻烦&#xff0c;可以将hello slb保存于hello.txt文本文件中&#xff0c;然后运行命令&#xff1a; antlr4-parse Hello.g4 r -tokens hello.txt出现如下内容&#xff1a; [0,0:4hello,<hello>,1:0] [1,6:8slb,<ID>,1:6] [2,9:8<EO…

双脚在路上,钢笔在手里,想法在脑中,2023年CSDN将在心头

☔️&#xff08;一&#xff09;行走过的道路 一年的时间说长不长&#xff0c;说短不短&#xff0c;所渡过时光的长短在于你是否留意你曾走过的路。 &#x1f434;① 记得2022年初我所许下的flag&#xff0c;是要在CSDN平台上运用今年一年的时间撰写超50篇的技术文章&#xff0…

智能家居创意DIY之智能灯泡

一、什么是智能灯 传统的灯泡是通过手动打开和关闭开关来工作。有时&#xff0c;它们可以通过声控、触控、红外等方式进行控制&#xff0c;或者带有调光开关&#xff0c;让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块&#xff0c;可与手机、家庭智能助手、或其他智能…

语音转换之CycleGan-VC2:原理与实战

非平行语音转换CycleGAN 之前学习了传统统计学习里的经典的语音转换模型GMM。随着深度学习的发展&#xff0c;出现了更好的语音转换方法&#xff0c;今天学习较为经典的CycleGan。 平行语音转换一般流程 典型代表就是基于GMM的语音转换。平行数据就是说源语音和目标语音一一…

【 Tomcat服务器】

文章目录二、Web服务器2.1 概念2.1.1 什么是Web2.1.2 什么是Web服务器2.2 常见Web服务器2.3 Tomcat服务器2.3.1 Tomcat的下载2.3.2 Tomcat的安装2.3.3 Tomcat的目录结构2.3.4 Tomcat的启动2.3.5 Tomcat的停止运行所需jar包2.3.5 Tomcat的停止2.3.6 修改Tomcat端口号2.3.7 项目部…

美容门店信息化管理系统该如何搭建?不妨参考一下百数

随着人们的生活水平越来越高&#xff0c;人们在解决了温饱问题之后有了更多的追求。其中美容正在成为不少人新的必做项目&#xff0c; 迎合了人们对于爱美的需求。目前我国美容机构市场规模已超过4500亿元&#xff0c;行业从业人员超过3000万。据国家工商联统计数字显示&#x…

宝藏又小众的东方行走rpg制作大师素材网站分享

看到大家都在问东方行走rpg制作大师素材&#xff0c;既要免费又要质量好&#xff0c;数量还要多&#xff0c;小编好不容易挖到了宝藏素材网站哦&#xff0c;资源优质数量庞大&#xff0c;使用体验也很好&#xff0c;要是需要的话&#xff0c;赶紧看一看&#xff0c;小编会给大家…

Redis实现全局唯一id,实现优惠卷秒杀的下单功能

Redis实现全局唯一id public class RedisIdWorker {private StringRedisTemplate stringRedisTemplate;public RedisIdWorker(StringRedisTemplate stringRedisTemplate) {this.stringRedisTemplate stringRedisTemplate;}//开始时间戳private static final long BEGIN_TIMEST…

怎么调图片分辨率?怎么改图片分辨率?

许多考生在提交报名证件照片的时候&#xff0c;都因为图片分辨率不符合规定导致上传失败&#xff0c;所以今天小编就来告诉大家如何调整图片分辨率&#xff0c;其实只要通过专业的图片修改分辨率工具就可以轻松解决。这里推荐一款在线修改分辨率的软件&#xff0c;不用下载即可…

Java重点源码回顾——HashMap1.7

1. 概述 public class HashMap<K,V>extends AbstractMap<K,V>implements Map<K,V>, Cloneable, SerializableHashMap在我们的日常使用中非常多&#xff0c;所以今天来阅读下它的源码&#xff0c;了解它具体的设计思想&#xff0c;能够帮助我们扩宽视野。 H…