计算机视觉系列之1-图片读取

文章目录

1.用Skimage读取tif

复制代码
channel默认顺序是RGB/RGBA,读取得到的img是数组ndarray,type=unit32, 像素值默认范围:0-65536
io.imread()可以读取的tif波段数:
gray --MN
RGB --MN3
RGBA --MN*4 (RGBA: red-green-blud-alpha, 除了tif,png也可以保存此格式)
python 复制代码
from skimage import io
imgpath='image/file/name.tif'
img=io.imread(imgpath)
r=img[:,:,0]
g=img[:,:,1]
b=img[:,:,2]
nir=img[:,:,3]

2.PIL读取

复制代码
 channel默认顺序是RGB,数据类型 PIL.JpegImagePlugin.JpegImageFile,通过 numpy.asarray(image_pil) 可转成 numpy.ndarray
 像素值默认范围为0-255
python 复制代码
from PIL import Image
imgpath='image/file/name.tif'
img=Image.open(imgpath)
print('%s, %s, %s' % (img.mode, img.size, img.format))
img.show()

3.OpenCV读取

复制代码
channel默认顺序H×W×C,BGR,数据类型numpy.ndarray,支持 bmp、jpg、png、tiff 等常用格式
通过 cv2.cvtColor(image_cv2, cv2.COLOR_BGR2RGB) 可转成 RGB
python 复制代码
import cv2 as cv
img = cv.imread("sancun.tif", 1)

4.Scipy读取

复制代码
Notes:
imread uses the Python Imaging Library (PIL) to read an image. The following notes are from the PIL documentation.使用Python图像库(PIL)读取图像

mode can be one of the following strings:
'L' (8-bit pixels, black and white)(8位像素,黑白)
'P' (8-bit pixels, mapped to any other mode using a color palette)(8位像素,使用调色板映射到任何其他模式)
'RGB' (3x8-bit pixels, true color)(3x8位像素,真彩色)
'RGBA' (4x8-bit pixels, true color with transparency mask)(4x8位像素,带透明蒙版的真彩色)
'CMYK' (4x8-bit pixels, color separation)(4x8位像素,分色)
'YCbCr' (3x8-bit pixels, color video format)(3x8位像素,彩色视频格式)
'I' (32-bit signed integer pixels)(32位有符号整数像素)
'F' (32-bit floating point pixels)(32位浮点像素)

PIL also provides limited support for a few special modes, including 'LA' ('L' with alpha), 'RGBX' (true color with padding) and 'RGBa' (true color with premultiplied alpha).
PIL还提供了对某些特殊模式的有限支持,包括" LA"(带L的" L")," RGBX"(带填充的真彩色)和" RGBa"(带预乘alpha的真彩色)。

When translating a color image to black and white (mode 'L', 'I' or 'F'), the library uses the ITU-R 601-2 luma transform:
将彩色图像转换为黑白图像(模式" L"," I"或" F")时,该库使用ITU-R 601-2亮度转换:
L = R * 299/1000 + G * 587/1000 + B * 114/1000

When flatten is True, the image is converted using mode 'F'. When mode is not None and flatten is True, the image is first converted according to mode, and the result is then flattened using mode 'F'.
展平为True时,将使用" F"模式转换图像。当mode不为None且flatten为True时,将首先根据mode转换图像,然后使用" F"模式将结果展平。
python 复制代码
import scipy
from scipy import misc
imgpath='image/file/name.tif'
img=misc.imread(imgpath)
#or
from scipy import ndimage
img = ndimage.imread(imgpath, mode='RGB')
相关推荐
g***B73818 分钟前
Java 工程复杂性的真正来源:从语言设计到现代架构的全链路解析
java·人工智能·架构
Shawn_Shawn3 小时前
大模型的奥秘:Token与Transformer简单理解
人工智能·llm
weixin_377634844 小时前
【K-S 检验】Kolmogorov–Smirnov计算过程与示例
人工智能·深度学习·机器学习
yaoh.wang4 小时前
力扣(LeetCode) 13: 罗马数字转整数 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
菜鸟起航ing5 小时前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
Guheyunyi5 小时前
智慧消防管理系统如何重塑安全未来
大数据·运维·服务器·人工智能·安全
ZZY_dl5 小时前
训练数据集(三):真实场景下采集的课堂行为目标检测数据集,可直接用于YOLO各版本训练
人工智能·yolo·目标检测
小鸡吃米…5 小时前
Python PyQt6教程七-控件
数据库·python
yiersansiwu123d6 小时前
AI伦理治理:在创新与规范之间寻找动态平衡
人工智能
1916zz6 小时前
Extreme programing 方利喆 _ 江贤晟
python