图像处理(二)

图像处理(2)

  • 裁剪图片

from skimage import io,dataiimg = io.imread(r'D:\工坊\图像处理\十个勤天2.png')roi=iimg[50:150,120:200,:]io.imshow(roi)

运行结果:

  • 将图片进行二值化

from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")img_gray=color.rgb2gray(img)rows,cols=img_gray.shapefor i in range(rows):for j in range(cols):if(img_gray[i,j]<=0.5):img_gray[i,j]=0else:img_gray[i,j]=1io.imshow(img_gray)

运行结果:

  • 图像归一化

        图像归一化是图像处理操作,在将图像的像素值范围缩放到特定的范围或标准化到特定的统计特征。

from skimage import io,dataimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")reddish = img[:, :, 0]> 170  #像素值大于170的位置为True,小于为Falseimg[reddish]=[0, 255, 0]  # [红,绿,蓝]三个通道io.imshow(img)print(img.dtype.name)

运行结果:

  •  图像归一化

        图像数据的归一化操作,将像素值线性缩放到指定范围内,加载图像数据,显示图像数据。

import numpy as npimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")normalized_img = (img-np.min(img))/(np.max(img)-np.min(img))io.imshow(img)print(img)

运行结果:

  • 查看图片是什么类型的图片(utf-8/float)

from skimage import io,dataimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")print(img.dtype.name)

运行代码:

  • 将utf-8的图片转为float(浮点型)

from skimage import data,img_as_floatimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")print(img.dtype.name)print(img)dst = img_as_float(img)print(dst.dtype.name)print(img)

运行结果:

  • 将图片分成三类,用默认颜色对三类进行着色

from skimage import io,data,colorimport numpy as npimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")gray = color.rgb2gray(img)rows,cols = gray.shapelabels = np.zeros([rows,cols])for i in range(rows):for j in range(cols):if(gray[i, j]<0.4):labels[i, j]=0elif(gray[i, j]<0.75):labels[i, j]=1else:labels[i, j]=2dst=color.label2rgb(labels)io.imshow(dst)

运行结果:

  • 将浮点型(float)转为utf-8

from skimage import img_as_ubyteimport numpy as npimg = np.array([0, 0.5, 1], dtype=float)print(img.dtype.name)dst=img_as_ubyte(img)print(dst.dtype.name)

运行结果:

  • 空间颜色的转换(方法一)

① Rgb转为gray

from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")gray=color.rgb2gray(img)io.imshow(gray)

运行结果:

② Rgb转为hsv

        • 什么是hsv:“H”代表色相(Hue)、“S”饱和度(Saturation)和“V”亮度(Value)
from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")hsv=color.rgb2hsv(img)io.imshow(hsv)

运行结果:

③ Rgb转lab

        • 什么是lab:lab图像格式通常指的是 CIELAB 色彩空间,也称为 Lab 色彩空间。包括三个通道:L(亮度)、a(从绿色到红色的颜色分量)和b(从蓝色到黄色的颜色分量)
from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")lab=color.rgb2lab(img)io.imshow(lab)

运行结果:

④ Gray转rgb

from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")rgb=color.gray2rgb(img)io.imshow(rgb)

运行结果:

⑤ Hsv转rgb

from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")rgb=color.hsv2rgb(img)io.imshow(rgb)

运行结果:

⑥ lab转rgb

from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")rgb=color.lab2rgb(img)io.imshow(rgb)

运行结果:

  • 空间颜色转换(方法二)

       • 方法一中的转换方式,在这个中只适用于rgb转hsv,其他的使用情况:

tospace` has to be one of dict_keys(['rgb', 'hsv', 'rgb cie', 'xyz', 'yuv', 'yiq', 'ypbpr', 'ycbcr', 'ydbdr'])

rgb转hsv:

from skimage import io,data,colorimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")hsv = color.convert_colorspace(img,'RGB','HSV')io.imshow(hsv)

运行结果:

  • 创建一个窗口,在窗口中对图片三种变换进行对比

        从skimage库中导入data,从matplotlib.pyplot库中导入plt,使用io.imread函数从指定路径加载名为"十个勤天2.png"的图像创建一个标题为'bocoma a fammer!'且大小为8x8英寸的图像窗口,在一个2x2的子图网格中创建四个子图,为四个子图命名为“fammer.a”、“fammer.b”、“fammer.c”和“fammer.d”,使用plt.show()显示绘图。

from skimage import dataimport matplotlib.pyplot as pltimg = io.imread(r"D:\工坊\图像处理\十个勤天2.png")plt.figure(num='bocoma a fammer!', figsize=(8, 8))plt.subplot(2, 2, 1)plt.title('fammer.a')plt.imshow(img)plt.subplot(2, 2, 2)plt.title('fammer.b')plt.imshow(img[:, :, 0], cmap=plt.cm.gray)plt.subplot(2, 2, 3)plt.title('fammer.c')plt.imshow(img[:, :, 1], cmap=plt.cm.gray)plt.subplot(2, 2, 4)plt.title('fammer.d')plt.imshow(img[:, :, 2], cmap=plt.cm.gray)plt.show()

运行结果:

  • 查看库中有几张图片

import skimage.io as iofrom skimage import data_dirstr=data_dir + '/*.png'coll = io.ImageCollection(str)print(len(coll))
  • 查看文件夹中的第二张图片

from skimage import data_dir,io,colordef convert_gray(f):rgb=io.imread(f)return color.rgb2gray(rgb)img=r"D:\工坊\图像处理"str=img+'/*.jpg'coll = io.ImageCollection(str)io.imshow(coll[1])# 自己文件夹里的图片

运行结果:

进行灰度处理:

from skimage import data_dir,io,colordef convert_gray(f):rgb=io.imread(f)return color.rgb2gray(rgb)img=r"D:\工坊\图像处理"str=img+'/*.jpg'coll = io.ImageCollection(str,load_func=convert_gray)io.imshow(coll[1])

运行结果:

  • 视频的处理

从一个视频文件中提取帧,并将每一帧保存为图片文件

import cv2from skimage import ioimport osclass AVILoader:def __init__(self, video_file):self.video_file = video_fileself.cap = cv2.VideoCapture(self.video_file)def __call__(self, frame):self.cap.set(cv2.CAP_PROP_POS_FRAMES, frame)ret, frame = self.cap.read()if ret:return cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)else:return Nonevideo_file = 'mymymyvideo.mp4'av_loader = AVILoader(video_file)frames = range(0, 1000, 10)output_folder = 'frames'os.makedirs(output_folder, exist_ok=True)# 保存每一帧为图像文件for frame in frames:img = av_loader(frame)if img is not None:filename = os.path.join(output_folder, f'frame_{frame}.jpg')io.imsave(filename, img)io.imshow(img)  # 显示图像io.show()       # 显示图像窗口# 创建图像集合ic = io.ImageCollection(os.path.join(output_folder, '*.jpg'))# 输出图像集合

运行结果:

  • 图片的转换

        把png图片全部转换为256x256的jpg的灰度图保存在文件夹下

from skimage import data_dir,io,transform,colorimport numpy as npdef convert_gray(f):rgb=io.imread(f) #依次读取rgb图片gray=color.rgb2gray(rgb) #将rgb图片转换成灰度图dst=transform.resize(gray,(256,256)) #将灰度图片大小转换为256*256return dstimg="C:/Users/lenovo/Desktop/sunnn"str=img+'/*.jpg'coll = io.ImageCollection(str,load_func=convert_gray)for i in range(len(coll)):io.imsave('C:/Users/lenovo/Desktop/sunnn/'+np.str(i)+'.png',coll[i]) #循环保存图片

运行代码:

运行结果:

 

 如果想要继续学习,请移步下一篇blog!!!

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

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

相关文章

影响项目成功的六个“致命”错误

项目经理作为项目的负责人&#xff0c;肩负着巨大的责任和挑战。他们需要具备专业知识、出色的综合管理能力以及敏锐的洞察力&#xff0c;以便在项目执行过程中及时关注项目动态&#xff0c;处理好各种问题&#xff0c;并避免那些可能影响项目实施的致命错误。 一、缺乏明确的…

羊大师解析,鲜为人知的羊奶冷知识

羊大师解析&#xff0c;鲜为人知的羊奶冷知识 羊奶的脂肪球更小&#xff1a;相较于牛奶&#xff0c;羊奶中的脂肪球直径更小&#xff0c;这有助于其更快地被人体消化和吸收。 羊奶含有更多的中链脂肪酸&#xff1a;羊奶中含有较多的中链脂肪酸&#xff08;MCT&#xff09;&am…

5个好用AI绘画工具,让你秒变艺术家!

AI绘画现在可谓是相当火爆&#xff0c;各种AI绘画工具如雨后春笋般涌出。很多人想自己尝试用AI来创作&#xff0c;却不知道使用什么工具&#xff0c;今天就给大家分享5个好用AI绘画工具&#xff0c;有的只需一段文字便可生成一幅美轮美奂的大作&#xff0c;让你秒变艺术家&…

基于springboot实现的疫情网课管理系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

Implicit Diffusion Models for Continuous Super-Resolution

CVPR2023https://github.com/Ree1s/IDM问题引入&#xff1a; – LIIF方法可以实现任意分辨率的输出&#xff0c;但是因为是regression-based方法&#xff0c;所以得到的结果缺少细节&#xff0c;而生成的方法(gan-based,flow-based&#xff0c;diffusion-based等)可以生成细节&…

JavaScript基础(五)

三目运算符 用于判断并赋值 语法: 判断条件?条件成立执行语句:条件不成立执行语句; (条件&#xff1f;"true":"false";) 例: <script> var age prompt(请输入年龄) var name (age>18)?"已成年":"未成年禁止登录" a…

开源投票系统源码及搭建 在线投票活动创建系统的设计与开发

在当今数字化时代&#xff0c;在线投票活动已成为各类组织、企业和个人不可或缺的一部分。无论是选举、问卷调查、产品评选还是其他需要收集公众意见的场景&#xff0c;一个高效、稳定且易于使用的在线投票系统都至关重要。 分享一款基于开源投票系统源码的在线投票活动创建系…

【网络知识】光猫、路由器 和 交换机 的作用和区别?

数字信号&#xff1a;是指自变量是离散的、因变量也是离散的信号&#xff0c;这种信号的自变量用整数表示&#xff0c;因变量用有限数字中的一个数字来表示。在计算机中&#xff0c;数字信号的大小常用有限位的二进制数表示。 模拟信号&#xff1a;模拟信号是指用连续变化的物…

偏微分方程算法之混合边界条件下的差分法

目录 一、研究目标 二、理论推导 三、算例实现 四、结论 一、研究目标 我们在前几节中介绍了Poisson方程的边值问题&#xff0c;接下来对椭圆型偏微分方程的混合边值问题进行探讨&#xff0c;研究对象为&#xff1a; 其中&#xff0c;为矩形区域&#xff0c;为上的连续函数…

巴东电子商务奖励标准!巴东县网红直播基地、电子商务示范企业奖励补贴

巴东电子商务奖励标准&#xff01;巴东县网红直播基地、电子商务示范企业奖励补贴的内容整理如下&#xff1a;奖励内容较多 查找想了解的奖励可按 CtrlF 然后输入关键词即可 巴东县电子商务发展专项资金支持对象 本项目奖补对象适用于在我县注册、纳税、从事电子商务的商贸类企…

ISIS的基本概念

1.ISIS概述 IS-IS是一种链路状态路由协议&#xff0c;IS-IS与OSPF在许多方面非常相似&#xff0c; 例如运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此&#xff0c;然后建立邻接关系&#xff0c;并交互链路状态信息。 CLNS由以下三个部分组成&#xff1a; CLNP&#xf…

VALSE 2024特邀报告内容解析|多模态视觉融合方法:是否存在性能极限?

2024年视觉与学习青年学者研讨会&#xff08;VALSE 2024&#xff09;于5月5日到7日在重庆悦来国际会议中心举行。本公众号将全方位地对会议的热点进行报道&#xff0c;方便广大读者跟踪和了解人工智能的前沿理论和技术。欢迎广大读者对文章进行关注、阅读和转发。文章是对报告人…

No space left on device

报错提示 [ERROR] Upload Local File hwzt-third-party-out.jar Failed [ERROR] java.lang.RuntimeException: cp: error writing : No space left on device [ERROR] com.alibabacloud.commons.ssh.sshj.SshjConnection.executeCustomCharset(SshjConnection.java:172) …

flask网站开发计划

我想写一个flask开发网站的合集文章&#xff0c;该网站主要是采集网络上的文章&#xff08;不同站点&#xff0c;用Python识别出正文内容&#xff09;&#xff0c;然后做成长图形式&#xff0c;发布到flask站点&#xff0c;并提供“下载”按钮&#xff0c;点击下载按钮&#xf…

送给正在入行的小白:最全最有用的网络安全学习路线已经安排上了

在这个圈子技术门类中&#xff0c;工作岗位主要有以下三个方向&#xff1a; 安全研发安全研究&#xff1a;二进制方向安全研究&#xff1a;网络渗透方向 下面逐一说明一下。 第一个方向&#xff1a;安全研发 你可以把网络安全理解成电商行业、教育行业等其他行业一样&#xf…

基于 Spring Boot 博客系统开发(七)

基于 Spring Boot 博客系统开发&#xff08;七&#xff09; 本系统是简易的个人博客系统开发&#xff0c;为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。&#x1f33f;&#x1f33f;&#x1f33f; 基于 Spring Boot 博客系统开发&#xff08;六&#xff09;&#x1f…

【RAG 博客】Haystack 中的 DiversityRanker 与 LostInMiddleRanker 用来增强 RAG pipelines

Blog&#xff1a;Enhancing RAG Pipelines in Haystack: Introducing DiversityRanker and LostInTheMiddleRanker ⭐⭐⭐⭐ 文章目录 Haystack 是什么1. DiversityRanker2. LostInTheMiddleRanker使用示例 这篇 blog 介绍了什么是 Haystack&#xff0c;以及如何在 Haystack 框…

AI把OpenAI内斗魔改成晋江文学,插图也能画,最新工具爆火,网友冲崩服务器

AI魔改OpenAI内斗大戏…… 这晋江味儿要冲出屏幕了&#xff01; Ilya就是这样的人&#xff0c;对待身边的人冷漠如冰&#xff0c;对待工作却不择手段…… △来自知乎Midreal小助手 而且剧情还不那么离谱&#xff0c;AI自由发挥下很多点都符合逻辑。 “所以我们在评估投资回报…

Surya:强大的开源 OCR 文字识别工具

在当今数字化时代&#xff0c;文字识别技术扮演着至关重要的角色。VikParuchuri/surya 便是一款令人瞩目的开源 OCR 文字识别工具。 主要功能&#xff1a; 支持 90 多种语言的文字识别&#xff1a;Surya 具备强大的语言兼容性&#xff0c;能够轻松应对多种语言的文字识别任务&…

翻译《The Old New Thing》 - What are SYSTEM_FONT and DEFAULT_GUI_FONT?

What are SYSTEM_FONT and DEFAULT_GUI_FONT? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050707-00/?p35013 Raymond Chen 2005年07月07日 在 Windows 编程中&#xff0c;GetStockObject 函数提供了两种特殊的字体&#xff1a;SYST…