matlab中,图片char类型怎么转换为double类型?

matlab中,图片char类型怎么转换为double类型?

读入梯度图片为char类型做计算,显示错误:
使用 .* 对于此运算,数组的大小不兼容。

计算语句: nImg = Mask.*cannyBW;

Mask为double类型,cannyBW为char类型

可以创建一个double型矩阵canny_double,然后cannyBW中的像素值循环转为double,然后给canny_double,如下面这样

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:matlab实现cell转char、double(元胞数组转字符、转数值)
  • 除此之外, 这篇博客: MATLAB字符串类型(char)中的 反转字符的三种方法: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    str1 = 'helloworld'
    str2 = reverse(str1)
    str3 = str1(length(str1): -1 : 1)
    str4 = flip(str1)
    str5 = fliplr(str1)
    

    length(): 求字符串的长度
    (a: -1 :b): 倒着数从a到b,其中a>b。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^