Python读取显示raw图片+numpy基本用法记录
这次任务是拿到了几张raw图片,没其他头文件或信息,需要对raw图片使用python打开并显示
(作为了一个初学者,整天搞jpg、png,突然来了个raw,表示很头大)
1.获取raw图片shape信息(高度、宽度、通道数)
通过第三方打开显示,查找其信息,记录下来,后面要用
网上所搜的各种raw转jpg图片的就算了吧,试过一两个,都是失败的
这里推荐两种方法,一个是软件:ps,使用ps可以直接打开读取raw图片,打开时便会自动显示高度宽度和通道数及位数(不过就目前来说,感觉ps是随机匹配宽长,显示的图也不准确),如下图,有需要也可以转为其他格式,如jpg、png等
另一个方法就是一个线上网站:Photopea | Online Photo Editor
超级好用!!!而且可以选各种不同的匹配形式,也可以预览图片,然后你可以选择正确的匹配形式,对应的高宽等信息就是对应你图片的
(平时也挺好用的,可以各种图片处理操作,如果需求不大都不需要ps了)
2.python图片读取
有了高宽通道数信息,咱们就可以进行numpy图像分析,最后通过opencv读取图像
import numpy as np
import cv2# 注意到这个函数只能显示uint16类型的数据,如果是uint8的数据请先转成uint16。否则图片显示会出现问题。**
# image为array类型,多少维度都无所谓,直接操作全部元素
img = np.fromfile("D:/VScode/pyproject/PR/view/showRaw/1.raw", dtype=np.uint16)
print(img)
print("数组元素总数:",img.size) #打印数组尺寸,即数组元素总数 # /均值、标准差归一化/
image = (img - np.average(img)) / np.std(img)
# ///
print(image)imgData = image.reshape(288, 384, 1)
# 展示图像
cv2.imshow('img',imgData)
cv2.waitKey()
cv2.destroyAllWindows()
其中我用了一些图像归一化的方法,我大概了解了一下有下面三种比较常用的,你们可以根据自己图片尝试一下,我自己这次图片的归一化用的效果比较好的是均值、标准差归一化
# /“x-min/max-min”//
image = (img - np.min(img)) / (np.max(img) - np.min(img))
# ///# ///simoid归一化/
image = img
for i in range(size):image[i] = 1.0 / (1 + np.exp(-float(img[i])))
# ///# /均值、标准差归一化/
image = (img - np.average(img)) / np.std(img)
# ///
3.numpy图片处理时一些基本用法
①np.fromfile
对raw图片可以读取并转换为向量数组,方便我们后期进行处理
imgData2 = np.fromfile('D:/VScode/pyproject/PR/view/showRaw/2.raw', dtype='uint16')
②np.average:取平均值,有个np.mean的跟这个区别就是average可以加权平均
③np.std:去标准差
④np.random.randint(0,10,(4,3)):在0-10中随机生成4x3的矩阵
⑤ np.hstack:向量拼接,raw图像numpy读取出来是向量形式,需要用到
⑥np.concatenate((a, b), axis=1):ab矩阵以列的形式拼接,加多1列
rotation = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])trans = np.array([[7],[8],[0]])
z = np.concatenate((rotation, trans), axis=1)
[[1 2 3 7][4 5 6 8][7 8 9 0]]
4.图像处理的一些指令
①image.shape:显示图像高宽通道数
②image.size:图像数据长度
③image[y:y+h,x:x+w]:图像的截取,xy为截取图左上角起点
目前所述都是个人在学习神经网络过程中的一些记录,仅供参考,有错误麻烦大佬在评论区指正,感谢!!!
Python读取显示raw图片+numpy基本用法记录相关推荐
- python实现cv2图片读取显示及图片不显示或显示不全的问题分析
cv2相关知识初步学习 python图片操作之opencv 图片读入 图片显示 图片不能显示的问题 图片只显示一小部分 声明 python图片操作之opencv OpenCV是一个基于BSD许可(开源 ...
- 如何用Python读取Excel中图片?又如何用Python往Excel中写入图片?
大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析. 那么你知道如何使用Python读 ...
- python 读取excel图片_如何用Python读取Excel中图片?
公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...
- 怎么用python读取excel图_如何用Python读取Excel中图片?
公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...
- Python 读取显示保存图片----python skimage图像处理
转载:https://blog.csdn.net/weixin_41500849/article/details/80366991 基于python脚本语言开发的数字图片处理包,比如PIL,Pillo ...
- python读取遥感 dat_#python读取遥感影像GDAL包的用法
#!C:/Python27/ArcGIS10.1/python.exe -u #coding:utf-8 '''the first two lines are used to choose the c ...
- python中squeeze函数_Python numpy.squeeze()用法及代码示例
当我们要从数组形状中删除一维条目时,将使用numpy.squeeze()函数. 用法: numpy.squeeze(arr, axis=None ) 参数: arr :[数组]输入数组. axis : ...
- python中argmin函数_Python numpy.argmin()用法及代码示例
numpy.argmin(array,axis = None,out = None):返回特定轴上数组min元素的索引. 参数: array:Input array to work on axis : ...
- python读取文件夹图片_读取文件夹里的图片,并且与标签对应
def trans_dict(file): files = open(file) files_content = files.readlines() #读取数据,返回一个list,每一行 为一个字符串 ...
最新文章
- Spring处理器(Controller)全局建言
- nginx+tomcat集群负载均衡中的多虚拟主机配置
- DEV柱状图----傻瓜版
- 57javabean简介
- 一文彻底读懂优秀开源产品MyBatis一级缓存设计!
- 使用Skrollr创建视差滚动效果页面
- Excel--Solver安装和使用
- glibc:fd_set机制
- fluidsim元件库下载_FluidSIM
- etax导入账户不让勾选_【问答】自然人电子税务局网页版扣缴功能常见问题解答!...
- vue 统计中英文字符串长度_计算字符串长度以及截取字符串长度(英文占1个字符,中文汉字占2个字符)...
- 用户画像,原来是这么用的!看一个生活中的案例
- 学习1010种热图绘制方法
- 【对比】Office 365与Office 2019 有何不同?你会pick哪款产品?
- 几何Geometry(2)(曲线和曲面)(笔记)
- 【高斯 GANSS 键盘】 GS87-D 设置指南
- php个人博客项目实训报告,PHP个人博客项目------切切歆语博客
- 一切都结束了,祝贺曼联夺得联赛冠军
- GIF表情图片怎么制作
- spring依赖注入原理详解
热门文章
- spring boot控制AD域 报错解决
- 03.先了解一些python的基础语法
- 旅游攻略应该怎么做,你做对了吗?
- python爬取电影票房前50_Python3爬取起猫眼电影实时票房信息,解决文字反爬~~~附源代码...
- 骑行运动耳机哪个好,五款最适合在骑行中佩戴的耳机分享
- 解决Ubuntu强制获取root权限后只剩下客人会话而无法正常登录
- HTML+CSS+JavaScript+Ajax+ECharts实现疫情实时监控大屏-2设计与实现
- 基于NeRF的APP上架苹果商店!照片转3D只需一部手机,网友们玩疯了
- 深度评测 极米z6x和z6哪个好 极米z6和z6x区别
- tomcat 中部署的应用响应json数据乱码解决办法