找回密码
 注册
关于网站域名变更的通知
查看: 348|回复: 3
打印 上一主题 下一主题

double函数的功能中有转化为二值的功能吗?

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-11-29 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    请问下面的代码,为什么在使用double函数后,I图像就变成的二值图像,而不需要对X的值进行阈值判断来实现二值化,而double函数的功能不应该是转换成双精度吗?求解释,谢谢
    8 w9 Z4 {3 A$ gx=imread('test2.jpg');3 y3 {: |! J+ n0 `7 Q1 F1 B4 ^! ~! o
    I0=x;. d+ |$ t2 w- Q6 }* V# p
    R=x(:,:,1);
    1 r$ \2 h. g* \, ?& VG=x(:,:,2);) V" a! i6 ~  B' R& n
    x=R-G;
    7 B  X) X5 P8 V/ UI=double(x);
    ! w1 Y% b' ]: U; i1 R$ Z7 q! p+ s, Ffigure;
    ( Z, O- M7 o' a+ H/ K  ~imshow(I);3 @' x/ _: Y7 o
  • TA的每日心情
    奋斗
    2022-1-21 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-11-29 13:12 | 只看该作者
    如果图像数据是double类型的,那么取值范围是[0,1],如果是uint8类型,则是[0,255]。你这里最后一句应该改成
    ! G$ f. r  U! d7 H) x8 {imshow(I/255)

    点评

    但我的问题是为什么用double函数能将R-G处理后的图像变成了二值图像, 之前需要设定一个阈值来进行二值化的,但现在不需要就可以实现,这是什么原因如,如何解释?  详情 回复 发表于 2022-11-29 13:19
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2022-11-29 13:19 | 只看该作者
    nocturne 发表于 2022-11-29 13:126 u3 o$ \7 ~  B: r. v8 d7 O" A6 `0 \
    如果图像数据是double类型的,那么取值范围是[0,1],如果是uint8类型,则是[0,255]。你这里最后一句应该改成 ...

    8 ^( H1 j( f, E" e+ ^) ?但我的问题是为什么用double函数能将R-G处理后的图像变成了二值图像,
    ! z! a! r/ q  o( H. S( P之前需要设定一个阈值来进行二值化的,但现在不需要就可以实现,这是什么原因如,如何解释?
    5 s6 |# G) v3 a+ T
  • TA的每日心情
    奋斗
    2022-1-21 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-11-29 13:29 | 只看该作者
    你还没理解我上面的解释。因为R-G的元素是uint8类型数据,你把它变成double类型后就直接调用imshow了,这是不应该的。因为imshow的输入参数如果是uint8类型时,0是黑色,255是白色,介于0和255之间是灰度色;但是如果imshow输入参数是double类型,0是黑色,1是白色(大于1的数也都是白色),介于0~1之间的小数是灰度色。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-4 11:23 , Processed in 0.109375 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表