python读取图像矩阵文件并转换为向量实例


Posted in Python onJune 18, 2020

假设图像矩阵大小为32×32,将其转换为向量,首先创建1×1024的NumPy数组,然后打开给定的文件,循环读出文件的前32行,并将每行的头32个字符值存储在NumPy数组中

import numpy as np
 
def img2vector(filename):
 returnVect = np.zeros((1, 1024))
 fr = open(filename)
 for i in range(32):
  lineStr = fr.readline()
  for j in range(32):
   returnVect[0, 32*i+j] = int(lineStr[j])
 return returnVect

补充知识:旋转向量和旋转矩阵的互相转换(python cv2.Rodrigues()函数)

处理矩阵三维转换时,通常采用旋转矩阵,但是旋转变换其实只有三个自由度,用旋转向量表达时更为简洁。因此,需要实现从旋转向量和旋转矩阵之间的互转换。

旋转向量和旋转矩阵之间可以通过罗德里格斯公式进行转换:

python读取图像矩阵文件并转换为向量实例

代码实现:

可以直接采用opencv中的Rodrigues函数实现,函数原型:

void Rodrigues( InputArray src, OutputArray dst, OutputArray jacobian = noArray() );

参数:

输入src:旋转向量(3*1或者1*3)或者旋转矩阵(3*3);

输出dst:旋转矩阵(3*3)或者旋转向量(3*1或者1*3);

输出jacobin:可选项,输出雅克比矩阵(3*9或者9*3),输入数组对输出数组的偏导数。

python代码举例:

# -*- coding: UTF-8 -*-
import os
import cv2
import numpy as np
T = np.zeros((1,3), np.float32)
a = (0.2,0.4,0.8)
print (a)
R = cv2.Rodrigues(a)
print (R[0])
v3 = (R[0][2,1],R[0][0,2],R[0][1,0])
print (v3)
c = cv2.Rodrigues(v3)
print (c[0])
b = cv2.Rodrigues(R[0])
print (b[0])
p = (-2.100418,-2.167796,0.27330)
print(cv2.Rodrigues(p)[0])

例子如下:

python读取图像矩阵文件并转换为向量实例

以上这篇python读取图像矩阵文件并转换为向量实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算圆周长、面积、球体体积并画出圆
Apr 08 Python
Python列表(list)常用操作方法小结
Feb 02 Python
Python自动发邮件脚本
Mar 31 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
python web基础之加载静态文件实例
Mar 20 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
Django自带用户认证系统使用方法解析
Nov 12 Python
Python datetime模块使用方法小结
Jun 18 #Python
Python读取Excel数据并生成图表过程解析
Jun 18 #Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 #Python
python名片管理系统开发
Jun 18 #Python
一文轻松掌握python语言命名规范规则
Jun 18 #Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 #Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 #Python
You might like
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python 将RGB图像转换为Pytho灰度图像的实例
2017/11/14 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
python数据封装json格式数据
2018/03/04 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
python实现tail -f 功能
2020/01/17 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
CSS3 animation实现简易幻灯片轮播特效
2016/09/27 HTML / CSS
早会主持词
2014/03/17 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
Java设计模式之代理模式
2022/04/22 Java/Android