ValueError: Buffer dtype mismatch, expected ‘unsigned char‘ but got ‘long‘

2023-11-17

在使用pydensecrf进行densecrf时出现ValueError

def dense_crf(img, probs, n_labels=2):
    h = probs.shape[0]
    w = probs.shape[1]

    probs = np.expand_dims(probs, 0)
    probs = np.append(1 - probs, probs, axis=0)

    d = dcrf.DenseCRF2D(w, h, n_labels)
    U = -np.log(probs)
    U = U.reshape((n_labels, -1))
    U = np.ascontiguousarray(U)
    img = np.ascontiguousarray(img)

    U = U.astype(np.float32)
    d.setUnaryEnergy(U) # Unary

    d.addPairwiseGaussian(sxy=20, compat=3)  #
    d.addPairwiseBilateral(sxy=30, srgb=20, rgbim=img, compat=10)

    Q = d.inference(5)
    Q = np.argmax(np.array(Q), axis=0).reshape((h, w))

    return Q


image = np.random.randint(0, 255, (256, 256, 3))
mask = np.random.rand(256, 256)
mask = dense_crf(image, mask)
Traceback (most recent call last):
  File "G:/python/denseCRF/crf.py", line 34, in <module>
    mask = dense_crf(image, mask)
  File "G:/python/denseCRF/crf.py", line 24, in dense_crf
    d.addPairwiseBilateral(sxy=30, srgb=20, rgbim=img, compat=10)
  File "densecrf.pyx", line 126, in pydensecrf.densecrf.DenseCRF2D.addPairwiseBilateral
ValueError: Buffer dtype mismatch, expected 'unsigned char' but got 'long'

错误原因:输入图像的类型与addPairwiseBilateral()方法要求不符

解决方法:将image转换为np.uint8类型

mask = dense_crf(image.astype(np.uint8), mask)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ValueError: Buffer dtype mismatch, expected ‘unsigned char‘ but got ‘long‘ 的相关文章

随机推荐

  • 分页存储相关计算

    分页存储相关计算 文章目录 分页存储相关计算 页面和物理块 相关公式 例题 页面和物理块 页面 分页存储管理将进程的逻辑地址空间分成若干个页 并且为各个页加以编号 从0开始 物理块 把内存的物理地址空间氛围若干个块 并且加以编号 从0开始
  • Ubuntu18.04安装CUDA及CUDNN有效方式

    一 安装CUDA 首先去英伟达官网下载 下载地址 最新版 现在是CUDA Toolkit 10 2版 可以根据自己的配置要求搜不同cuda版本 https developer nvidia com cuda toolkit archive
  • Nacos 1.2.1 客户端启动以后频繁刷 get changedGroupKeys:[] 日志的问题解决方案

    文章目录 一 问题描述 二 解决方案 一 问题描述 在采用 Spring Cloud Ablibaba 的 Nacos 1 2 1 作为注册配置中心的时候 发现客户端应用启动成功以后 每隔 30s 就会刷一次心跳日志 2020 08 27
  • 彩灯控制器的设计

    彩灯控制器的设计 1 题目要求 节日的彩灯五彩缤纷 彩灯的控制电路种类繁多 用移位寄存器为核心元件设计制作一个8路彩灯控制器 彩灯控制电路要求控制8个彩灯 要求彩灯组成以下两种花型 每种花型连续循环两次 两种花型轮流交替 彩灯闪烁变化一下间
  • Basic Level 1092 最好吃的月饼 (20分)

    题目 月饼是久负盛名的中国传统糕点之一 自唐朝以来 已经发展出几百品种 若想评比出一种 最好吃 的月饼 那势必在吃货界引发一场腥风血雨 在这里我们用数字说话 给出全国各地各种月饼的销量 要求你从中找出销量冠军 认定为最好吃的月饼 输入格式
  • sublimelinter的排错以及npm peerDependency的处理办法

    sublimelinter是sublimeText中用于代码规范提示的重工具 如果代码不符合规范 它会提示出来 但是在一个项目目 经常不能正常工作 这里探讨一下怎么解决这些问题 打开sublimelinter的debug模式 在sublim
  • 掏心掏肺分享,大学四年我是怎么学操作系统和计算机网络的?

    最近收到不少读者留言 关于怎么学 操作系统 和 计算机网络 的留言 小林写这一块的内容也有半年多了 啃非常多的书 也看了很多视频 有好的有差的 今天就掏心掏肺地分享给大家 操作系统和计算机网络有多重要呢 如果没有操作系统 我们的手机和电脑可
  • C#

    文章目录 简介 方法 备注 简介 unity创建一个相机 想保存相机的图像时 有这样的一段程序 void Awake GetComponent lt gt 物件属性 snapCam GetComponent
  • 代码随想录算法训练营19期第43天

    1049 最后一块石头的重量 II 视频讲解 动态规划之背包问题 这个背包最多能装多少 LeetCode 1049 最后一块石头的重量II 哔哩哔哩 bilibili 代码随想录 初步思路 动态规划 总结 套用01背包 dp j max d
  • python 两个数值互换(一句代码搞定)

    a sire b 23 a b b a print a print b
  • springboot本机启动elasticjob抛出异常HostException(ip is null)

    1 使用的elasticjob版本为3 0 1 2 本机的IPV4在校验isReachable 返回false 可能是使用无线网 导致ip验证问题 3 最后引入Groovy解决 引入包
  • Oracle 视图中出现重复记录(left join)

    Oracle 视图中出现重复记录 问题 解决办法 注意 问题 今天做项目的时候 客户反映页面中出现了重复的数据 经排查后发现前短数据新增的字段 来自于应该新的表 当时是直接使用 left join 左连接的方式对数据进行拼接的 left j
  • (已解决)DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`.

    DeprecationWarning np float is a deprecated alias for the builtin float To silence this warning use float by itself Doin
  • upload-labs-1

    打开第一关 通过查看源码我们可以发现第一关属于前端验证 我们可以将浏览器JS代码禁用掉 禁用JavaScript
  • [图形学] 《Real-Time Rendering》碰撞检测(二)

    reference Real Time Rendering 目录 17 前言 17 1 和射线的碰撞检测 17 2 使用BSP树的动态碰撞检测 17 3 一般层次的碰撞检测 17 3 1 分层的构建 17 3 2 不同层之间的碰撞检测 17
  • 验证码图片实现

    使用验证码进行验证 自动生成验证码 后台实现 package common makeCertPic import java awt Color import java awt Font import java awt Graphics im
  • 第15课:生活中的命令模式——大闸蟹,走起

    用程序来模拟生活 从剧情中思考命令模式 命令模式 命令模式的模型抽象 代码框架 类图 模型说明 实战应用 应用场景 故事剧情 David 听说阿里开了一家实体店 盒马鲜生 特别火爆 明天就周末了 我们一起去吃大闸蟹吧 Tony 吃货 真是味
  • 前端三剑客---HTML&CSS&JavaScript

    HTML CSS JavaScript 1 HTML 1 1 介绍 1 2 快速入门 1 3 基础标签 1 3 1 标题标签 1 3 2 hr标签 1 3 3 字体标签 1 3 4 换行标签 1 3 5 段落标签 1 3 6 加粗 斜体 下
  • diagnose-tools 编译报错

    在 Ubuntu 20 04 4 LTS 环境中 编译diagnose tools 执行make deps时报错 checking whether gcc m32 makes executables we can run no config
  • ValueError: Buffer dtype mismatch, expected ‘unsigned char‘ but got ‘long‘

    在使用pydensecrf进行densecrf时出现ValueError def dense crf img probs n labels 2 h probs shape 0 w probs shape 1 probs np expand