python numpy整型数据溢出

在计算图像矩的过程中,发现数据溢出了,与调用openCV库中的函数算出的结果不同。
目前使用的是numpy数组储存数据,数据类型设为int64,但是他的范围还是不够大,数值会在10的16 次方的数量级。应该怎么设置这个数组的类型呀?

# 计算p+q阶图像矩
def img_m(img):
    # 用于存放图像矩计算结果
    result = np.zeros([4,4],dtype='float')
    # 获取图像大小
    height = img.shape[0]
    width = img.shape[1]
    # 遍历图像内的像素点,进行图像矩计算
    for row in range(height):
        for col in range(width):
            result[0, 0] += img[row,col]
            result[0, 1] += row * img[row, col]
            result[1, 0] += col * img[row, col]
            result[1, 1] += row * col * img[row, col]
            result[0, 2] += row ** 2 * img[row, col]
            result[2, 0] += col ** 2 * img[row, col]
            result[0, 3] += row ** 3 * img[row, col]
            result[3, 0] += col ** 3 * img[row, col]
            result[2, 1] += row * col ** 2 * img[row, col]
            result[1, 2] += row ** 2 * col * img[row, col]

1个回答

问题已解决, 将算法中求幂的过程有 ** 改为 math.pow(row,3)即可

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
整型数据的溢出
#include void main() {int a,b; a=32767; b=a+1; printf("%d,%d\n",a,b); }
整型数据溢出的问题
给出一个数据,如int i=0xFFFFFFF1;rn明显的超出了int的32位范围,用eclips运行了system.out.print(i);打印出的结果是-15.rn为什么会是这个结果?java是怎么处理这种数据溢出的?rn查了半天没弄明白,不要笑我,本人初学java。
整型数据溢出该怎么办
edit1.Text :=IntToStr((1414500275 - (375313494 shl 89)) shl 55); rnrnrn这句提示我数值溢出 rnrnOverflow in conversion or arithmetic operation
C语言的整型数据的溢出
本文介绍C语言中的整型数据的溢出情况。 示例代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int a = 2147483647; int b = 0; char string[35] = ""; b...
Numpy溢出
今天在看书时,按照书上的例子敲了一段代码,发现跟书上的结果有出入,具体代码如下: #coding = utf-8 __author__ = 'Administrator' import sys from datetime import datetime import numpy as np """ vectorsum.py """ def numpysum(n): a = np.ar
python 整型数据
整型数据就是整数,可以有正负号。在python2中,数值分为int型和long型,为int型数据分配4个字节(32位)的内存空间,因此一个整型数据的数值范围是-2的31次方 到 2的31次方减1。如果超出这个取值范围,数值会有溢出错误。而long型数据在计算机内没有长度限制,可以无限大。在python3中只有一种整型数据类型,和python2中的long型类似。 整型数据有4中表示方法:十进制,
一个简单的C语言 整型数据溢出问题
首先和大家说明一下情况,因为早前学过C语言,几年没用,最近工作要用,才看一下。我用的编译环境是VS2008.在测试整型数据溢出的时候和教程上有所差距。rnrn#includernvoid main()rnrn int a,b;rn a=32767;rn b=a+1;rn printf("%d,%d\n",a,b);rn system("pause");rnrnrn结果却是32767,32768 并非教程上的32767,-32768.rnrn我知道按理是后面的结果,可事实却是让我迷了.... 希望有TURBO C和VS2008的给验证一下....rnrn详细图片在:http://blog.csdn.net/zengqing108/archive/2011/06/02/6461390.aspxrnrnrnrnrn
关于两个整型数据之积溢出的问题
大家好,我是一个C语言初学者。最近在自学C语言的时候发现一个问题,希望各位能不吝赐教,先行谢过了。rnrn假设有两个int类型的数据a和b,并且他们的乘积超出了int型数据所能表示的范围,把这个积赋给事先定义为long型的c,即 c=a*b,为什么回出现错误?虽然a*b的值超出了范围,可是如果赋给c的话,并没有超出long型数据的范围啊,为什么还是错的呢?rn
有符号和无符号整型数据溢出问题
无符号数都有“unsigned”标志,如果没有“unsigned”标志,则程序默认该数为有符号数“signed”。 无符号数可正可负 ,有符号数一定为正。由于有符号与无符号数所占用的字节数相同,因此无符号数所允许的最大值比有符号数的大一倍。如 ,无符号短整型数的数值范围是0到65535,而有符号短整型数的范围是-32768到32767. 1.无符号整数溢出问题: int main()
170617 numpy数据溢出的对策
大学上C语言的时候理论上碰到过数据溢出的问题,今天在处理实验数据中真的碰到了这个问题: 对于数据过大的数值相乘时可能数据上溢问题,此时,可更改数据类型,增大数据范围。 对于数据过小的数值相乘时可能数据下溢问题,此时,可定义数据截断,小于某个值的数据将其置为0等操作。 下面是一个具体点的例子: 代码:# -*- coding: utf-8 -*- """ Created on Tue May 16
python 的numpy
python的numpy模块的参考文档,内容十分全面。参考价值也较高。是学习numpy的较好资料。
python numpy
numpy-1.13.3-cp27-none-win_amd64,安装文件,cd到python/scripts,运行pip install numpy.whl
Python numpy
Python numpy
Python(Ⅲ):Numpy
目录 1.Numpy简介 2.数组创建(Create an array) 3.基本操作(Basic operations of Matrix) 4.索引和切片(Indexing and slicing) 5.合并与拆分(merging and splitting) 数组合并 矩阵合并 6.cooy 与 =(copy and equal) 7.广播机制(Broadcase mech...
【Python】使用numpy时警告:RuntimeWarning溢出报错的屏蔽方法
写sigmoid函数时候遇到溢出,屏幕打印一长串的RuntimeWarning,很难受。 尝试了try...except RuntimeWarning: pass。没用。 尝试了longfloat()函数包住变量,没用。 最后使用 python -W ignore::RuntimeWarning my_script.py 世界干净了!值得拥有!...
python 用户输入整型数据的解决方案
1. 《笨方法学python》第三十五课,要求输入整型数据,利用int() 将用户输入的字符串数据转换为整型数据,然后进行判断。 2. 问题点:当用户输入字符串时,会导致程序执行出错。 3. 既然抛出的异常为 “ValueError”,我们就利用try..except...else语句捕获该异常。由此就解决了用户输入非整型数据的问题。  ...
大家帮帮忙,关于整型数据溢出的问题!C程序的
看书的时候在书上看见了关于整型数据溢出的范例程序rnmain ()rnrn int a,b;rn a=32767;rn b=a+1;rn printf ("%d,%d\n",a,b);rnrn而我用TC2.0编译时得到的结果是:32767,-32768rn用MinGW Developer Studio,得到的结果却是32767,32768rn着是为什么啊?为什么不同的编译器会得到不同的结果啊?
Python 爬虫 index溢出
import urllib2nimport renfrom xlsxwriter.workbook import Workbooknfrom io import BytesIOnimport jsonnnworkbook = Workbook('images.xlsx')nprint "FETCHING YHD ..."nu = urllib2.urlopen('http://www.yhd.com/')ndata = u.read()nnol_tag = re.findall(r' .*?', data, flags = re.DOTALL)nli_tag = re.findall(r'', ol_tag[0], flags = re.DOTALL)nnnyhd_link = []nfor item in li_tag:n link = re.findall(r'(?<=wi=").*?(?=")', item)n yhd_link += linknnyhd_href_link = []nfor item in li_tag:n link = re.findall(r'(?<=href=").*?(?=")', item)n yhd_href_link += linknnworksheet = workbook.add_worksheet('yhd')nnprint "Total: " + str(len(yhd_link))nfor i in range(len(yhd_link)):n print "yhd => Downloading Picture " + str(i+1)n image_data = BytesIO(urllib2.urlopen(yhd_link[i]).read())n if i % 4 == 0:n worksheet.set_row(i, 240)n else:n worksheet.set_row(i, 120)n worksheet.insert_image('A' + str(i+1), yhd_link[i], 'image_data': image_data, 'url': yhd_href_link[i])nnprint "COMPLETE YHD ..."nworkbook.close()nnTraceback (most recent call last):n File "C:\Python27\project\banner\banneryhd.py", line 16, in n li_tag = re.findall(r'', ol_tag[0], flags = re.DOTALL)nIndexError: list index out of range
整型数据问题
sql server2000数据库中某一表字段的值为476179569,在delphi中对此表字段进行查询时,出现‘overflow while converting variant of type(Curreny) into Type(Integer)’,但在单步执行时提示‘range check error’,请问该如何解决?rn
python numpy、scipy安装及numpy的初步使用
安装方法 推荐使用.whl文件安装,我尝试了使用pip直接安装,在安装scipy时出错,可以到http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy这个网页上下载。我在在import scipy时,出现ImportError: cannot import name NUMPY_MKL,这是因为scipy依赖了numpy,numpy要安装numpy+mkl(I
[python numpy] numpy布尔值索引 数组索引
更详细见:https://blog.csdn.net/Lord_sh/article/details/92653790 &gt;&gt;&gt; x = np.arange(0, 16).reshape(4, 4) &gt;&gt;&gt; x array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], ...
Python中的Numpy模块(1,numpy创建)
1.什么是Numpy?      Numpy   (Numeric Python)      Numpy系统是Python中的一种开源的数值计算扩展。        (1)   一个强大的N维数组对象Array         (2)   比较成熟的(广播) 函数库         (3)   用于整合C/C++和fortran 代码的工具包          (4)   实用的线性代...
Windows系统下Python与NumPy的安装
直到写这篇博客为止,Python官网上Python已经发型3.5.2版本,此处带个官网Python下载地址 https://www.python.org/downloads/ download页面下一个是Python最新版本,一个是2.7版本,我一开始下的是2.7版本,为了安装numpy,一般会使用pip来安装,遇到了如下问题:UnicodeDecodeError: 'ascii' codec
Python科学计算-----NumPy(一)
Numpy NumPy 是 Numerical Python 的简称,是Python的高性能计算和数据分析的基础核心包。与Python的基本数据类型相比,其具有以下突出优势: 提供功能更强大的高维数组(N-dimensional)对象 强大的广播功能(broadcasting),便于矢量化数组操作(直接对数组进行数据处理,而不需要编写循环) 集成了 C/C++ 以及 Fortr
python numpy 显示图像阵列
每次要显示图像阵列的时候,使用自带的 matplotlib 或者cv2 都要设置一大堆东西,subplot,fig等等,突然想起 可以利用numpy 的htstack() 和 vstack() 将图片对接起来组成一张新的图片。因此写了写了下面的函数。做了部分注释,一些比较绕的地方可以自行体会。 大致流程包括: 1. 输入图像列表 img_list  2.    show_type : 最终的
Python第三方库——Numpy
np.flatnonzero(a):等价于a.ravel().nonzero()[0] 参数: a:ndarray 返回:ndarray,返回a的flatten形式中非0元素的索引 np.ravel(a, order='c'):返回a的flatten形式 参数: a:array_like order:字符,指定读a的顺序,可取值{‘C’:按行, ‘F’:按列, ‘A’:, ‘K’:按在内
python学习—Numpy包
教程为《利用python进行数据分析》,本人已进行基本入门学习,利用此处书对Numpy包及pandans包学习。 Numpy包   一、概念: ndarray N维数组对象,多维数据容器,所元素必须同类型,包含: 1、 shape: 一个表示各位维度大小的元组(描述从外向里,见后面栗子); 2、 dtype:一个明确数据类型的对象   二、创建ndarray数组 >>im
python科学计算:numpy
毕设的程序设计中使用了python来处理数据,主要使用的是numpy包,网上大部分对numpy进行介绍的教程比较老旧,想要使用的功能不太容易找到。因此,写这篇文章来对现有的一些资源就行整理,当然想要更全面的了解numpy的使用还是从访问官方手册开始。安装win下pip isntall numpy当然最好还是直接安装pythonxy或者Anaconda的集成包。具体特性的使用import numpy
Python Numpy库的简单使用
无库: def pySum(): a = [0, 1, 2, 3, 4] b = [9, 8, 7, 6, 5] c = [] for i in range(len(a)): c.append(a[i]**2 + b[i]**2) return c print(pySum()) 有库: import numpy as np...
python 数据处理——Numpy
1.Numpy之array用法 ndarray:N维数组对象(矩阵),所有元素必须是相同类型。 ndarray属性:ndim属性,表示维度个数;shape属性,表示各维度大小;dtype属性,表示数据类型。 创建ndarray数组 from numpy import * a1 = [0,1,2,3,4,5] #一维数组 a2 = [[0,1,2,3,...
python之numpy的简单使用
import numpy as np '''生成0-1之间符合条件的数组''' #生成一个随机浮点数 a1 = np.random.rand() # print(a1) #生成一个二维数组 a2 = np.random.rand(3,4) # print(a2) '''查看数组的维度、大小、数据类型''' # print('数组的维度:',a2.ndim) # print('数组的大小:'...
Python之Numpy使用教程
1.NumPy概述 NumPy(Numerical Python)是用Python进行科学计算的基础软件包。包含以下特点: 1. 强大的N维数组对象Array 2. 成熟的函数库 3. 用于集成C/C++和Fortran代码的工具 4. 实用的线性代数、傅立叶变换和随机生成函数 2.NumPy安装 pip install numpy或pip3 install nump...
python numpy基本用法
1.数组用法 list_1 = [1,2,3,4] array_1 = np.array(list_1) 这样就可以对array_1进行计算了。 获得二维数组 array_3 = np.array([list_1,list_2]) 获得数组的类型 array_3.dtype 获得数组的元素个数 array_3.size 获得数组行列数 array_3.shape 构...
Python Numpy学习杂技
 数据分析时非常重要。比list, dictionary 快很多 安装numpy 方法1:google搜索 numpy关键字 ——&amp;gt; 找到官网——&amp;gt;然后下载安装。 方法2:windows中运行命令行,输入 pip3 install numpy 直接安装。 前提要安装pip #pip3 install pandas python中的list是python的内置数据类型,l...
python学习-Numpy基础知识
创建数组 1、随机生成一个2行3列的二位数组 import numpy as np arr1 = np.random.randn(2,3) print(arr1,'\n') print(arr1*10,'\n') print(arr1+2,'\n') print(arr1+arr1,'\n') [[-0.16611954 0.40227423 1.06185825] [-0.151726...
骚气的Python之Numpy
假定一组数据 a = np.array([ [1, 2, 3], [4, 5, 6] ]) 数据位移(第一列向后移动一位) a[:,0] = np.roll(a[:,0], 1) 结果: [[4 2 3] [1 5 6]] 条件修改 a[a%2==0] = 0 结果: [[1 0 3] [0 5 0]] 转为一...
python第三方库安装之numpy
下载地址:https://pypi.org/project/numpy/ 或者 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载正确版本:我的python3.7 win64 :numpy-1.15.3-cp37-none-win_amd64.whl (13.5 MB)  (cp37对应python3.7) 配置环境:系统环境-&amp;gt;path :D:...
Python数值计算工具----Numpy
Python数值计算工具——Numpy # 导入模块,并重命名为np import numpy as np # 单个列表创建一维数组 arr1 = np.array([3,10,8,7,34,11,28,72]) # 嵌套元组创建二维数组 arr2 = np.array(((8.5,6,4.1,2,0.7),(1.5,3,5.4,7.3,9),(3.2,3,3.8,3,3),(11.2,1...
python numpy基本操作总结
1.维度相关 .ndim :维度 .shape :各维度的尺度 (2,5) .size :元素的个数 10 .itemsize :每个元素的大小,以字节为单位 reshape() &amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; np.zeros([2,3]) array([[ 0., 0.,
numpy之python矩阵操作
numpy之python矩阵操作 1.不使用mat时矩阵的操作 先导入numpy模块 import numpy as np 矩阵乘法,不使用mat时,矩阵乘法要使用numpy里的dot方法 # np.dot() 矩阵乘法 a = np.array([[1, 2], [3, 4]]) b = np.array([[11, 12], [13, 14]]) print(np.dot(a, b)) # ...
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表