首页 > 编程语言 >python 报错:TypeError: only integer scalar arrays can be converted to a scalar index

python 报错:TypeError: only integer scalar arrays can be converted to a scalar index

时间:2023-05-10 11:47:32浏览次数:52  
标签:index temp img initial scalar shape 报错 np kernal

def convolution(initial_img, kernal):
    img = np.zeros((initial_img.shape[0], initial_img.shape[1])).astype(np.uint8)
    for x in range(1, initial_img.shape[0] - 1):
        for y in range(1, initial_img.shape[1] - 1):
            temp = np.zeros([3, 3]).astype(np.uint8) # 用于存储将要参加卷积计算的像素块
            for i in range(kernal[0]):
                for j in range[kernal[1]]:
                    temp[i, j] = kernal[i, j] * initial_img[x - 1 + i, y - 1 + j, c];
            img[x, y, c] = np.sum(temp)  # 矩阵img[x, y, c]位置存的值为temp中所有数之和
    return img

在这个代码中,for i in range(kernal[0]): 这一行报错:TypeError: only integer scalar arrays can be converted to a scalar index

这个错误通常是由于在使用循环时,循环变量使用了列表或数组而不是单个变量。可以尝试将代码中的错误修改如下:

  1. kernal[0] 改为 kernal.shape[0]。因为 kernal 是一个数组,所以需要使用 shape 属性获取其第一维的长度。同理,将 kernal[1] 改为 kernal.shape[1]
  2. 在计算 temp 中的元素时,需要指定通道数 c。 修改后的代码如下:
    def convolution(initial_img, kernal):
        img = np.zeros((initial_img.shape[0], initial_img.shape[1])).astype(np.uint8)
        for x in range(1, initial_img.shape[0] - 1):
            for y in range(1, initial_img.shape[1] - 1):
                temp = np.zeros([3, 3]).astype(np.uint8) # 用于存储将要参加卷积计算的像素块
                for i in range(kernal.shape[0]):
                    for j in range(kernal.shape[1]):
                        temp[i, j] = kernal[i, j] * initial_img[x - 1 + i, y - 1 + j];
                img[x, y] = np.sum(temp)  # 矩阵img[x, y]位置存的值为temp中所有数之和
        return img

     

     

标签:index,temp,img,initial,scalar,shape,报错,np,kernal
From: https://www.cnblogs.com/Jocelynn/p/17387493.html

相关文章

  • requests标头在json序列化时报错TypeError: Object of type CaseInsensitiveDict is n
    requests的作者似乎为了解决header里大小写兼容的问题,而创建了大小写不敏感的数据结构CaseInsensitiveDict,具体分析可以参见:详解Requests中的数据结构CaseInsensitiveDict。requests返回的response_header即是一个CaseInsensitiveDict类型,而且我们知道response_header里通常并非......
  • qt导入头文件报错
    刚交接同事的qt项目,环境是: 工程中在源代码引用文件或自己写方法调用到一些外部或系统库,编译会报一大堆错,重复引用等等。这种情况在vc上面是不会出现,搞不懂qt为什么这样,急暂未找到解决方案。尝试了一两天,后来发现不要再原来代码写,单独从工程菜单添加先模块,在新模块里面去写,然后......
  • 【问题解决】Kafka报错 Bootstrap broker x.x.x.x:9092 (id: -1 rack: null) disconne
    问题复现近日针对某一客户需求开发了一个需要使用Kafka的功能,功能是什么暂且不论,在本地虚机的Kafka连接一切正常遂放到测试服务器上验证功能,以下是监听topic成功和警告报错:2023-05-0910:22:23[localhost-startStop-1]INFOorg.apache.kafka.clients.consumer.ConsumerConfig......
  • 使用富文本编辑,内容有<img src=xxx//xx//xx>报错:JSON parse error: Unexpected charac
     前端使用富文本标签,填写内容里面有图片地址或一些特殊字符,保存时导致报错后台json不能解析内容到实体类相应的字段中去报错代码:JSONparseerror:Unexpectedcharacter('\'(code92)):...解决办法:1、有的说在配置xss过滤时开放,保存的请求接口地址。————————......
  • 运行pip报错:Fatal error in launcher: Unable to create process using '"'
    在新环境上安装python的时候又再次遇到了这个情况,这次留意了一下,发现原来的文章有错误的地方,所以来更新一下,应该能解决大部分的问题。环境是win8,原来只安装了python2.7。后来因为要用到python3,为了让两者共存,降python3的运行文件改成了python3.exe.问题就此而来,这时候运行python......
  • IIS启动应用程序池报错"服务无法在此时接受控制信息"
    https://www.cnblogs.com/yaotome/p/9540300.html网站突然打不开,重新生成程序不行,重新打开vs也不行,重启了网站还是不行,重启应用池就发现问题了。可以关,启不来了,也删不掉,提示“服务无法在此时接受控制信息”。用下面方法解决了。用管理员方式打开命令行输入命令netsh winsock ......
  • Unable to open debugger port (127.0.0.11774) java.net.BindException Address alre
    解决intellijIDEA启动项目报错:Unabletoopendebuggerport(127.0.0.1:1774):java.net.BindException"Addressalreadyinuse:bind"cause(原因)端口被占用❗resolve(解决)netstat-aon|findstr"端口号"taskkill-f-pid进程号参考博客解决idea启动项目报错:U......
  • python 循环中使用index索引
    #使用enumerate()实现ints=[8,23,45,12,78]foridx,valinenumerate(ints):print(idx,val)ints=[8,23,45,12,78]forindex,iteminenumerate(ints,start=0):#默认是从0开始print(index,item)ints=[8,23,45,12,78]forindex,it......
  • 导入PIL时报错
    在导入PIL时,报以下错误: 查找原因参考博客 https://blog.csdn.net/yushuangping/article/details/82963839,按照wheel后,安装PIL时,报如下的错误。 查找说是python版本与wheel文件版本不同,确认本机python版本 ......
  • centos(linux):yum报错:removing mirrorlist with no valid mirrors的处理(centos 6.1
    一,报错[root@osc~]#yuminstall-ypython3-pipLoadedplugins:fastestmirror,securitySettingupInstallProcessDeterminingfastestmirrorsYumRepoError:AllmirrorURLsarenotusingftp,http[s]orfile.Eg.Invalidrelease/repo/archcombination/rem......