opencv img.shape
python数字图像处理(2):图像的读取、显示与保存
skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的。为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用。
引入skimage模块可用:
1
|
from skimage import io
|
一、从外部读取图片并显示
读取单张彩色rgb图片,使用skimage.io.imread(fname)函数,带一个参数,表示需要读取的文件路径。显示图片使用skimage.io.imshow(arr)函数,带一个参数,表示需要显示的arr数组(读取的图片以numpy数组形式计算)。
from skimage import io img=io.imread('d:/dog.jpg') io.imshow(img)
读取单张灰度图片,使用skimage.io.imread(fname,as_grey=True)函数,第一个参数为图片路径,第二个参数为as_grey, bool型值,默认为False
from skimage import io img=io.imread('d:/dog.jpg',as_grey=True) io.imshow(img)
二、程序自带图片
skimage程序自带了一些示例图片,如果我们不想从外部读取图片,就可以直接使用这些示例图片:
astronaut |
宇航员图片 |
coffee |
一杯咖啡图片 |
lena |
lena美女图片 |
camera |
拿相机的人图片 |
coins |
硬币图片 |
moon |
月亮图片 |
checkerboard |
棋盘图片 |
horse |
马图片 |
page |
书页图片 |
chelsea |
小猫图片 |
hubble_deep_field |
星空图片 |
text |
文字图片 |
clock |
时钟图片 |
immunohistochemistry |
结肠图片 |
|
显示这些图片可用如下代码,不带任何参数
from skimage import io,data img=data.lena() io.imshow(img)
图片名对应的就是函数名,如camera图片对应的函数名为camera(). 这些示例图片存放在skimage的安装目录下面,路径名称为data_dir,我们可以将这个路径打印出来看看:
from skimage import data_dir print(data_dir)
显示为: D:\Anaconda3\lib\site-packages\skimage\data
也就是说,下面两行读取图片的代码效果是一样的:
from skimage import data_dir,data,io img1=data.lena() #读取lean图片 img2=io.imread(data_dir+'/lena.png') #读取lena图片
三、保存图片
使用io模块的imsave(fname,arr)函数来实现。第一个参数表示保存的路径和名称,第二个参数表示需要保存的数组变量。
from skimage import io,data img=data.chelsea() io.imshow(img) io.imsave('d:/cat.jpg',img)
保存图片的同时也起到了转换格式的作用。如果读取时图片格式为jpg图片,保存为png格式,则将图片从jpg图片转换为png图片并保存。
四、图片信息
如果我们想知道一些图片信息,可以在spyder编辑器的右上角显示:
也可以直接以程序方式打印输出
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()) #像素平均值
结果输出:
<class 'numpy.ndarray'>
(300, 451, 3)
300
451
3
405900
231
0
115.305141661
opencv img.shape相关推荐
- 计算机视觉库OpenCV中shape和resize函数的区别
OpenCV官网说明:(shape为图片(高度,宽度,通道数)) Image properties include number of rows, columns and channels, type ...
- opencv的shape函数
转自https://blog.csdn.net/qingyuanluofeng/article/details/51568741 有一张图片宽度*高度是300*100,用opencv的img.shap ...
- 视频解码opencv、ffmpeg、decord三种方式速度对比
在做视频理解和视频相关的项目都绕不开视频解码的过程,本文对比了三种视频解码的方法,仅供参考. # -*- coding: utf-8 -*- # @Time : 2020年9月30日16:01:40 ...
- TorchVision中通过AlexNet网络进行图像分类
TorchVision中给出了AlexNet的pretrained模型,模型存放位置为https://download.pytorch.org/models/alexnet-owt-4df8aa71. ...
- TorchVision中使用FasterRCNN+ResNet50+FPN进行目标检测
TorchVision中给出了使用ResNet-50-FPN主干(backbone)构建Faster R-CNN的pretrained模型,模型存放位置为https://download.pytorc ...
- Opencv-python圆盘指针仪表检测
文章目录 1. 问题和思路说明 2. 注意点 2.1 Opencv读取图片矩阵 rows cols以及height width的关系 2.2 opencv和numpy数组长宽对应的问题 2.3 结论 ...
- ONNX Runtime介绍
ONNX Runtime:由微软推出,用于优化和加速机器学习推理和训练,适用于ONNX模型,是一个跨平台推理和训练机器学习加速器(ONNX Runtime is a cross-platf ...
- python opencv 如何获取图像的尺寸(宽高)(分辨率)(大小)img.shape
示例,获取文件夹中一张名为IMG_20200403_203742.jpg图片的分辨率 # -*- coding: utf-8 -*- """ @File : 如何获取图像 ...
- 【OpenCV 例程200篇】05. 图像的属性(np.shape)
[OpenCV 例程200篇]05. 图像的属性(np.shape) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...
- 关于opencv不能调用本地摄像头,报错没有shape属性
这里有一段经典摄像头打开并显示画面的代码 import cv2cap = cv2.VideoCapture(0)while(1):# 获得图片ret, frame = cap.read()# 展示图片 ...
最新文章
- RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
- 教你用树莓派打造一个家庭影院
- 苹果手机透明桌面_打开手机这个设置,桌面变全透明!
- Jmeter当获取正则表达式匹配数字为负数时获取所有匹配的值
- 多语言报表的改动方法
- 技术分享 | CodeReview主要Review什么?
- Spring Cloud Gateway Predicate.Path过滤分析
- c 服务器文件路径,c打开服务器文件路径
- 我的世界pc正版好玩的服务器,都来看看好玩的服务器
- 在鼠标点击的位置 ,添加一个div ,类似手表右键菜单
- PostmanCn: Postman中文版
- 手机上不了电信宽带连接服务器无响应怎么办,当网页都打不开该怎么办?
- 根据身高体重计算BMI指数 - scala
- 网站频繁抓取IP被封
- gensim使用汇总
- 【C51单片机】PC机控制单片机
- OpenFlow简单介绍
- Shell/Linux使用Jq操作Json
- Docker从入门到放弃-----Dockerfile常用命令解析与实战(使用docker制作一个开箱即用的consul镜像)
- 都2021年了,为什么想回看5分钟前写的代码就这么难