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里将list中元素依次向前移动一位
Sep 12 Python
python实现比较两段文本不同之处的方法
May 30 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
python 打印对象的所有属性值的方法
Sep 11 Python
python实现微信远程控制电脑
Feb 22 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
Python实现的各种常见分布算法示例
Dec 13 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
python的内存管理和垃圾回收机制详解
May 18 Python
django fernet fields字段加密实践详解
Aug 12 Python
Python实现汇率转换操作
May 03 Python
python dict乱码如何解决
Jun 07 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
PHP SQLite类
2009/05/07 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
php中的ini配置原理详解
2014/10/14 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
JS跨域代码片段
2012/08/30 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
用js格式化金额可设置保留的小数位数
2014/05/09 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
layui清除radio的选中状态实例
2019/11/14 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
Django中url的反向查询的方法
2018/03/14 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
荷兰电脑专场:Paradigit
2018/05/05 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
工程学毕业生自荐信
2014/06/14 职场文书
电影建党伟业观后感
2015/06/01 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
python实现简易名片管理系统
2021/04/11 Python
python内置模块之上下文管理contextlib
2022/06/14 Python