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的类方法和静态方法
Dec 13 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
python实现的简单窗口倒计时界面实例
May 05 Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
python 不以科学计数法输出的方法
Jul 16 Python
Python实现手写一个类似django的web框架示例
Jul 20 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
tensorflow 查看梯度方式
Feb 04 Python
python扫描线填充算法详解
Feb 19 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
Mar 10 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 5.4 你必须要知道的
2013/08/07 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
将php数组输出html表格的方法
2014/02/24 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
webpack入门必知必会
2017/01/16 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
基于python时间处理方法(详解)
2017/08/14 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
python3.6的venv模块使用详解
2018/08/01 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
python实现AES加密和解密
2019/03/27 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
python实现单链表的方法示例
2019/09/03 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
酒店服务实习自我鉴定
2013/09/22 职场文书
酒店前台接待岗位职责
2013/12/03 职场文书
工作表现自我评价
2014/02/08 职场文书
优秀教师工作感言
2014/02/16 职场文书
难忘的一课教学反思
2014/04/30 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
子女赡养老人协议书
2016/03/23 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL