图像处理技术与应用(一)

server/2024/9/25 8:27:50/

图像处理技术与应用入门

使用skimage进行图像读取和显示

skimage库(Scikit-image)提供了一个强大的工具集,用于执行各种图像处理任务。以下是如何使用skimage读取和显示图像的基本示例:

from skimage import ioimg = io.imread("dd.jpg", as_gray=True)io.imshow(img)io.show()

读取一个名为dd.jpg的图像文件,并以灰度模式显示它。

原图

 灰度图像

使用skimage读取内置测试图像

skimage库提供了一些内置的测试图像,可以直接使用:

from skimage import dataimg = data.hubble_deep_field()io.imshow(img)

显示了Hubble深空图像。

读取图像并保存

from skimage import data_dir,data,io# img1 = data.hubble_deep_field()img2 = io.imread('C:/Users/14919/OneDrive/Pictures/Screenshot_20230802_150439.jpg')# # print(img2)io.imshow(img2)io.show()io.imsave('C:/Users/14919/OneDrive/Desktop/图像处理-工坊/11.jpg',img)

使用PILskimage复制图像到新文件夹

Python Imaging Library(PIL)的Image模块可以与skimage结合使用,以复制图像到新文件夹:

from PIL import Imageimport osfrom skimage import io# 图片存储的文件夹路径folder_path = 'C:/Users/14919/OneDrive/Desktop/图像处理-工坊'# 用来保存图片的文件夹路径output_folder_path = 'C:/Users/14919/OneDrive/Desktop/图像处理-工坊/aa'# 确保输出文件夹存在if not os.path.exists(output_folder_path):os.makedirs(output_folder_path)# 遍历文件夹中的所有图片for filename in os.listdir(folder_path):if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):# 打开图片img = Image.open(os.path.join(folder_path, filename))# 保存图片到输出文件夹,同时保留原有文件名img.save(os.path.join(output_folder_path, filename))

这段代码将遍历指定文件夹中的所有图片,并将它们保存到另一个文件夹中。

使用matplotlibskimage分析图像属性

matplotlib库可以与skimage一起使用,以分析图像的属性:

import matplotlib.pyplot as pltfrom skimage import ioimg = io.imread("cc.jpg")io.imshow(img)plt.axis('off')print('图片的类型是:',type(img))# 显示类型print('图片的尺寸是:',img.shape)# 显示尺寸print('图片的宽度是:',img.shape[0])# 图片宽度print('图片的高度是:',img.shape[1])# 图片高度print('图片的通道数是:',img.shape[2])# 图片通道数print('图像总像素个数是:',img.size) # 显示总像素个数print('图象的最大像素值是:',img.max())# 最大像素值print('图像最小像素值是:',img.min())# 最小像素值print('图像像素平均值是:',img.mean())# 像素平均值

显示了图像,还输出了关于图像的重要统计信息,如尺寸、像素值等

分段写出代码效果会更好

使用cv2进行图像处理

cv2是OpenCV库的Python接口,它提供了广泛的图像处理和计算机视觉功能。以下是如何使用cv2调整图像大小和显示不同颜色通道的示例:

import cv2img = cv2.imread('aa.jpg')#调整图像大小为300x300img = cv2.resize(img, (300, 300))cv2.imshow("img show", img)# 读取蓝色通道,最后一个值为0b = img[:, :, 0]# 读取绿色通道,最后一个值为 1g = img[:, :, 1]# 读取红色通道,最后一个值为 2r = img[:, :, 2]# 分别显示cv2.imshow("b", b)cv2.imshow("g", g)cv2.imshow("r", r)cv2.waitKey()cv2.destroyAllWindows()

读取图像、调整其大小,并分别显示其红色、绿色和蓝色通道。

r为红色通道,下标值为2

g为绿色通道,下标值为1

b为蓝色通道,下标值为0


http://www.ppmy.cn/server/11233.html

相关文章

2024 年中国VR行业研究报告

核心内容: 概述了当前 VR 行业的发展阶段、市场规模、产业环节及趋势,并对核心硬件、软件技术、内容应用等方面进行了详细介绍和分析。 概述: 1、行业发展阶段:新旧玩家推陈出新,特别是 Vision Pro 产品的问世&…

山东专升本计算机基础 --- Windows 10 操作系统安全

文章目录 Windows 10 操作系统安全1、Windows 10 系统安装的安全2、系统帐户安全3、应用安全策略4、网络安全策略 Windows 10 操作系统安全 1、Windows 10 系统安装的安全 操作系统的安全和安装操作系统的选项密切相关。 选择 NTFS 文件格式分区组件的定制安装 Windows 10 …

机器学习预测汽车油耗效率 MPG

流程 数据获取导入需要的包引入文件,查看内容划分训练集和测试集调用模型查看准确率 数据获取 链接:https://pan.baidu.com/s/1KeIJykbcVpsfEk0xjhiICA?pwd30oe 提取码:30oe --来自百度网盘超级会员V1的分享导入需要的包 import pandas as pd imp…

《设计模式之美》第二章 总结

《设计模式之美》总结 第二章 面向对象编程范式 2.1 当我们在谈论面向对象时,我们在谈什么 2.1.1 面向对象编程和面向对象编程语言 面向对象编程语言: 1. 以类或对象作为组织代码的基本单元,并将封装、继承、抽象、多态4个特性作为代码的…

逆向修改app就可以游戏充值到账?

hello ,大家好, 现在市场仍然流行着非常多的传奇类游戏私服或者其他类型的游戏私服,随着私服越来越多(很多并不合法),越来越多的人加入了破解,逆向修改,或者代充的队伍并从中获利。这里我给大家分享一下这些做代充的常规的做法,以及大家作为游戏服务器如何避坑做强校验…

华为配置 dhcp snooping

1、开启snooping功能前必须先全局开启dhcp的功能 [HUAWEI] dhcp enable //全局开启 2、全局开启snooping功能 [HUAWEI] dhcp snooping enable ipv4 //全局单独开启IPv4的snooping功能,这样将能够有效的节约设备的CPU利用率 3、接口或VLAN下开启DH…

【WSL报错】执行:wsl --list --online;错误:0x80072ee7

【WSL报错】执行:wsl --list --online;错误:0x80072ee7 问题情况解决方法详细过程 问题情况 C:\Users\17569>wsl --list --online 错误: 0x80072ee7 解决方法 开系统代理,到外网即可修复!!!!&#x…

VL2 异步复位的串联T触发器

VL2 异步复位的串联T触发器 设有一个输入T和输出Q,当时钟上升沿时,如果T和Q不相同时,其输出值会是1。(异或 ) 这时:Q为1: mux(T 1,Q ~Q,Q Q) …