图像中颜色计算

很多时候,初始化halcon窗口控件时不知道窗口大小,
在需要重置窗口大小时需要使用这个函数:set_window_extents,改变窗口大小,适应控件大小
dev_set_part

read_image (Image, ‘./1/Image_20221104152002350.bmp’)
decompose3(Image, Image1, Image2, Image3) //ImageRed, ImageGreen, ImageBlue
trans_from_rgb(Image1, Image2, Image3, ImageResult1, ImageResult2, ImageResult3, ‘cielab’)
intensity(ImageResult1, Image1, Mean1, Deviation1)
intensity(ImageResult2, Image2, Mean2, Deviation2)
intensity(ImageResult3, Image3, Mean3, Deviation3)

  • gamma 2.2
  • Mean1:=Mean1/255
  • Mean2:=Mean2/255
  • Mean3:=Mean3/255
  • if (Mean1 > 0.04045 )
  • Mean1 := pow(( Mean1 + 0.055 ) / 1.055, 2.4)
    
  • else
  • Mean1 := Mean1 / 12.92
    
  • endif
  • if (Mean2 > 0.04045 )
  • Mean2 := pow(( Mean2 + 0.055 ) / 1.055, 2.4)
    
  • else
  • Mean2 := Mean2 / 12.92
    
  • endif
  • if (Mean3 > 0.04045 )
  • Mean3 := pow(( Mean3 + 0.055 ) / 1.055, 2.4)
    
  • else
  • Mean3 := Mean3 / 12.92 
    
  • endif
    X := (0.412453Mean1 + 0.357580Mean2 + 0.180423Mean3)/255
    Y := (0.212671
    Mean1 + 0.715160Mean2 + 0.072169Mean3)/255
    Z := (0.019334Mean1 + 0.119193Mean2 + 0.950227Mean3)/255
    ref_X := 0.950456
    ref_Y := 1.0
    ref_Z := 1.088754
    X:=X / ref_X
    Y:=Y / ref_Y
    Z:=Z / ref_Z
    if (X>0.008856)
    Fx:=pow(X,1.0/3.0)
    else
    Fx:=7.787
    X + 16.0/116.0
    endif
    if (Z>0.008856)
    Fz:=pow(Z,1.0/3.0)
    else
    Fz:=7.787*Z + 16.0/116.0
    endif

if (Y>0.008856)
Fy:=pow(Y,1.0/3.0)
L:=116.0Fy-16.0
else
Fy:=7.787
Y + 16.0/116.0
L:=903.3Y //10.3
endif
a:=500.0
(Fx-Fy)//-19
b:=200.0*(Fy-Fz) //14

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖子工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值