python如何提取图片特征向量_在python中计算图像的特征向量

我正在尝试将二维高斯拟合到图像中。噪声很低,所以我试图旋转图像,使两个主轴不同时变化,算出最大值,然后计算两个维度的标准偏差。选择的武器是Python。

然而,我一直在寻找图像的特征向量——numpy.linalg.py假设离散的数据点。我想把这幅图像作为概率分布,取样几千点,然后根据这个分布计算特征向量,但我确信一定有一种方法可以直接从这幅图像中找到特征向量(即高斯椭圆的半长轴和半长轴)。有什么想法吗?

非常感谢:)

只是一个简短的说明,有几个工具来适应高斯图像。我唯一能想到的就是Scikits.Learn,它不是完全面向图像的,但我知道还有其他的。

准确地计算协方差矩阵的特征向量是非常昂贵的。您必须将图像的每个像素(或大的ISH随机采样)与X、Y点相关联。

基本上,你会做如下的事情:

import numpy as np

# grid is your image data, here...

grid = np.random.random((10,10))

nrows, ncols = grid.shape

i,j = np.mgrid[:nrows, :ncols]

coords = np.vstack((i.reshape(-1), j.reshape(-1), grid.reshape(-1))).T

cov = np.cov(coords)

eigvals, eigvecs = np.linalg.eigh(cov)

相反,您可以利用它是一个定期采样的图像的事实,并计算它的时刻(或"国际轴")。对于大图像来说,这会快得多。

作为一个简单的例子,(我使用了我以前的一个答案的一部分,以防你发现它有用…)

import numpy as np

import matplotlib.pyplot as plt

def main():

data = generate_data()

xbar, ybar, cov = intertial_axis(data)

fig, ax = plt.subplots()

ax.imshow(data)

plot_bars(xbar, ybar, cov, ax)

plt.show()

def generate_data():

data = np.zeros((200, 200), dtype=np.float)

cov = np.array([[200, 100], [100, 200]])

ij = np.random.multivariate_normal((100,100), cov, int(1e5))

for i,j in ij:

data[int(i), int(j)] += 1

return data

def raw_moment(data, iord, jord):

nrows, ncols = data.shape

y, x = np.mgrid[:nrows, :ncols]

data = data * x**iord * y**jord

return data.sum()

def intertial_axis(data):

"""Calculate the x-mean, y-mean, and cov matrix of an image."""

data_sum = data.sum()

m10 = raw_moment(data, 1, 0)

m01 = raw_moment(data, 0, 1)

x_bar = m10 / data_sum

y_bar = m01 / data_sum

u11 = (raw_moment(data, 1, 1) - x_bar * m01) / data_sum

u20 = (raw_moment(data, 2, 0) - x_bar * m10) / data_sum

u02 = (raw_moment(data, 0, 2) - y_bar * m01) / data_sum

cov = np.array([[u20, u11], [u11, u02]])

return x_bar, y_bar, cov

def plot_bars(x_bar, y_bar, cov, ax):

"""Plot bars with a length of 2 stddev along the principal axes."""

def make_lines(eigvals, eigvecs, mean, i):

"""Make lines a length of 2 stddev."""

std = np.sqrt(eigvals[i])

vec = 2 * std * eigvecs[:,i] / np.hypot(*eigvecs[:,i])

x, y = np.vstack((mean-vec, mean, mean+vec)).T

return x, y

mean = np.array([x_bar, y_bar])

eigvals, eigvecs = np.linalg.eigh(cov)

ax.plot(*make_lines(eigvals, eigvecs, mean, 0), marker='o', color='white')

ax.plot(*make_lines(eigvals, eigvecs, mean, -1), marker='o', color='red')

ax.axis('image')

if __name__ == '__main__':

main()

强大地拟合高斯可能很困难。在IEEE信号处理杂志上有一篇关于这个主题的有趣文章:

Hongwei Guo,"A Simple Algorithm for Fitting a Gaussian Function" IEEE

Signal Processing Magazine, September 2011, pp. 134--137

我在这里给出1d案例的实现:

http://scipy-central.org/item/28/2/fitting-a-gaussian-to-noise-data-points网站

(向下滚动查看结果匹配)

你尝试过主成分分析(PCA)吗?也许MDP包可以用最少的努力完成这项工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2021年9月24日和学生隆兴的学术讨论

QRCode: (1)做实验 (2)了解它的基本原理 调包侠 语言: (1)程序设计语言(交流,不规范) (2)数学(语言) &#x…

html加上百度统计,vue单页面应用加入百度统计

版权声明:本文为CSDN博主「钟文辉」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_39753974/article/details/80322643在单页面中,要是只加在head中的话那…

推荐系统:猜你喜欢

0 简介 网络的迅速发展带来了信息超载(information overload)问题。解决信息超载问题一个非常有潜力的办法是推荐系统,它根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户。推荐系统最典型应用领域是电子商务领…

量子计算机九章能否预测未来,张礼立 : 中国 “九章”量子计算机到底厉害在哪?...

原标题:张礼立 : 中国 “九章”量子计算机到底厉害在哪?【背景信息】12月4日,《科学》杂志公布了 中国 “九章” 的重大突破。 这台由中国科学技术大学潘建伟、陆朝阳等学者研制的76个光子的量子计算原型机,推动全球量…

python的继承用法_python中继承有什么用法?python继承的用法详解

本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。面向对象三大特征1.封装:根据职责将属性和方法封装到一个抽象的类中2.继…

利用GAN实现QR Code超分辨率的研究

文章目录1 传统方案2 基于CNN的实现方案2.1 SRCNN2.2 WeChat AI3 基于GAN的实现方案3.1 SRGAN3.2 ESRGAN3.3 Real-ESRGAN4 基于GAN的QR Code的实现方案1 传统方案 https://blog.csdn.net/caomin1hao/article/details/81092134?utm_mediumdistribute.pc_relevant.none-task-bl…

HTML5清除2个div标签的空白,DIV标签里面IMG图片下方留有空白怎么办

我们很多个人博客网站都会广告位投放一些图片广告,在网页设计中,图片是不可缺少的素材,但是在 div 标签里面放入 img 图片的话,有时候会在图片的下方出现一行空间的区域,如果单纯的图片不醒目或是图片所在的位置不重要…

python notebook软件_Jupyter notebook快速入门教程(推荐)

本文主要介绍了Jupyter notebook快速入门教程,分享给大家,具体如下:本篇将给大家介绍一款超级好用的工具:Jupyter notebook。为什么要介绍这款工具呢?如果你想使用Python学习数据分析或数据挖掘,那么它应该…

推荐系统国内外团队介绍

1 何向南团队 http://staff.ustc.edu.cn/~hexn/

如何用计算机截部分屏,电脑如何长屏幕的截图?电脑截取长屏的方法

新手用户对windows系统截取长屏的方法比较陌生,正常情况下,我们截取屏幕内容是登录QQ,按ctrlalta来截取屏幕的,只能截取部分内容,无法截图整个页面。日常的工作生活中,截图是经常会用到的,如果你…

Audio-based snore detection using deep neural networks解读

0 摘要 Background and Objective: 打鼾是一种普遍现象。 它可能是良性的,但也可能是阻塞性睡眠呼吸暂停 (OSA) 一种普遍存在的睡眠障碍的症状。 准确检测打鼾可能有助于筛查和诊断 OSA。 Methods: 我们介绍了一种基于卷积神经网络 (CNN) 和循环神经网络 (RNN) 组合…

python实战讲解_Python数据可视化实战讲解

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。开运张 | 作者知乎专栏 | 来源三个步骤:确定问题,选择图形转换数据,应用函数参数设置,一目了然首先对…

2018计算机专业考研报名人数,2018年全国考研报考人数、各省市考研报考人数、历年考研录取率、全日制及非全日制硕士研究生比例及考研动机分析【图】...

一、考研报考人数、录取率及报录比分析从上世纪末开始,研究生和本科生招生数量一样在逐步增多。本科扩招的同时,研究生也在扩招。1999年,全国报考研究生人数31.9万,录取人数7.3万,录取率22.8%。2008年,报考…

标记分布学习与标记增强

1 标记增强 标记增强是指将训练样本中的原始逻辑标记转化为标记分布的过程. 与基于嵌入 (embedding) 的 多标记分类方法相似, 标记增强也同样依赖于对隐含在训练样本中的标记相关信息的挖掘.

学python开发必须要会wsgi么_python Web开发你要理解的WSGI uwsgi详解

WSGI协议首先弄清下面几个概念:WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web server如何与web application通信…

用计算机怎样搜wifi网,笔记本电脑搜索不到无线网络(Wifi)怎么办

在使用Windows 10工作时会遇到形形色色的问题,比如笔记本电脑搜索不到无线网络。那么如何排除故障呢?下面小编与你分享具体步骤和方法。工具/材料Windows 10操作系统操作方法第1:启动Windows 10操作系统,如图所示。点击任务栏&quo…

如何理解矩阵对矩阵求导?

给一种不严密但有用的理解方式: 1 向量的“倒数” 记向量x(x1,x2,…,xn)T\mathrm{x} (x_1, x_2, \dots, x_n)^Tx(x1​,x2​,…,xn​)T,其倒数记为:x−1(1x1,1x2,…,1xn)T\mathrm{x}^{-1} (\frac{1}{x_1}, \frac{1}{x_2}, \dots, \frac{1}…

python获取id标签对应数据_Python--Scrapy爬虫获取简书作者ID的全部文章列表数据

最近Python大火,为了跟上时代,试着自学了下。Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv、json等文件中。今天我们就试着用Scrapy来爬取简书某位作者的全部文章。在本篇教程中,我们假定您已经…

怎么用计算机杀毒,电脑怎样查杀病毒

病毒往往会利用计算机操作系统的弱点进行传播,那么大家知道电脑怎样查杀病毒吗?接下来大家跟着学习啦小编一起来了解一下电脑查杀病毒的解决方法吧。电脑查杀病毒方法一一、使用杀毒软件进行杀毒1、首先进入“安全模式”2、进入方法:开机在进入Windows系…

MSN-LDL论文修改(B-Y Rong20211012)

Multi-view label distributed learning with multiple sub-networks –> Multi-view label distribution learning with multiple sub-networks Zhang HengRu1[00000 11111 22222 3333], Rong –> Bin-Yuan Rong, Heng-Ru Zhang Label distribution learning is an em…