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 转换 Javascript %u 字符串为python unicode的代码
Sep 06 Python
python xml解析实例详解
Nov 14 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
Python多线程threading模块用法实例分析
May 22 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
python 表格打印代码实例解析
Oct 12 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 Python
keras 权重保存和权重载入方式
May 21 Python
python软件都是免费的吗
Jun 18 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 Python
python实现简单的tcp 文件下载
Sep 16 Python
pycharm 2020 1.1的安装流程
Sep 29 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绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
PHP如何使用Memcached
2016/04/05 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
Python的log日志功能及设置方法
2019/07/11 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
Python项目打包成二进制的方法
2020/12/30 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
最新党员思想汇报
2014/01/01 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL