CNN Pytorch 图像识别 —— import skimage as sk

python skimage图像处理(一) - AHU-WangXiao - 博客园
https://www.cnblogs.com/wangxiaocvpr/p/11656603.html

scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,正好与matlab一样,因此,我们最终选择scikit-image进行数字图像处理。

图片信息
如果我们想知道一些skimage图片信息

from skimage import io, data
img = data.chelsea()
io.imshow(img)
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()) #像素平均值
print(img[0][0])#图像的像素值
PIL image 查看图片信息,可用如下的方法

print type(img)
print img.size #图片的尺寸
print img.mode #图片的模式
print img.format #图片的格式
print(img.getpixel((0,0)))#得到像素:
#img读出来的图片获得某点像素用getpixel((w,h))可以直接返回这个点三个通道的像素值

skimage包的子模块
skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能。它是由python语言编写的,由scipy 社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块列表如下:

子模块名称  主要实现功能
io 读取、保存和显示图片或视频
data 提供一些测试图片和样本数据
color 颜色空间变换
filters 图像增强、边缘检测、排序滤波器、自动阈值等
draw 操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等
transform 几何变换或其它变换,如旋转、拉伸和拉东变换等
morphology 形态学操作,如开闭运算、骨架提取等
exposure 图片强度调整,如亮度调整、直方图均衡等
feature 特征检测与提取等
measure 图像属性的测量,如相似性或等高线等
segmentation 图像分割
restoration 图像恢复
util 通用函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch是一个流行的深度学习框架,它提供了丰富的功能来进行图像识别任务。在PyTorch中,可以使用各种技术和工具来可视化图像识别的结果和过程。 一种常见的图像识别可视化方法是使用预训练的卷积神经网络(CNN)模型,如ResNet、VGG等。这些模型在大规模图像数据集上进行了训练,并且可以用于图像分类、目标检测等任务。在PyTorch中,可以使用torchvision库加载这些预训练模型,并使用它们进行图像识别。 以下是一种基本的PyTorch图像识别可视化的方法: 1. 导入必要的库和模型: ```python import torch import torchvision.models as models import torchvision.transforms as transforms from PIL import Image # 加载预训练模型 model = models.resnet50(pretrained=True) ``` 2. 加载和预处理图像: ```python # 加载图像 image = Image.open('image.jpg') # 定义图像预处理的转换 preprocess = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), ]) # 对图像进行预处理 input_tensor = preprocess(image) input_batch = input_tensor.unsqueeze(0) ``` 3. 运行图像识别: ```python # 将输入张量传递给模型 model.eval() with torch.no_grad(): output = model(input_batch) # 获取预测结果 _, predicted_idx = torch.max(output, 1) ``` 4. 可视化结果: ```python # 加载类别标签 with open('imagenet_classes.txt') as f: labels = [line.strip() for line in f.readlines()] # 打印预测结果 print(labels[predicted_idx.item()]) # 可视化图像和预测结果 import matplotlib.pyplot as plt plt.imshow(image) plt.title(labels[predicted_idx.item()]) plt.axis('off') plt.show() ``` 这是一个简单的示例,你可以根据自己的需求进行更多的定制和扩展。同时,还可以使用其他的可视化技术,如Grad-CAM、t-SNE等来进一步分析和理解模型的预测结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值