weixin_46887967 2021-04-24 15:50 采纳率: 67.9%
浏览 32
已采纳

各位前辈好,我想求图中黄绿色的面积百分比,应该从什么方向入手

  • 写回答

1条回答 默认 最新

  • 天元浪子 Python领域优质创作者 2021-04-24 18:12
    关注

    题主给出的图片是RGBA模式的,其中黄绿色的像素点,其红色R通道和绿色G通道应该比蓝色B通道数值大。建议从全部像素中筛选符合条件的像素,像素之比就是题主所求的面积之比。下面的代码,筛选条件是R通道和G通道均比B通道数值大15,黄绿色像素占比约1.28%。题主可以尝试其他条件,直至筛选结果符合要求为止。

    >>> import numpy as np
    >>> from PIL import Image
    >>> im = np.array(Image.open(r'D:\temp\csdn\1619250446148.png'))
    >>> im.shape
    (611, 837, 4)
    >>> r, g, b, a = np.dsplit(im, 4)
    >>> yellow_green = (r>(b+15))&(g>(b+15))
    >>> yellow_green[yellow_green].shape
    (6530,)
    >>> 6530/(611*837)
    0.012768694992442419
    >>> r[~yellow_green] = 255
    >>> g[~yellow_green] = 255
    >>> b[~yellow_green] = 255
    >>> im_check = np.dstack((r,g,b,a))
    >>> im_check = Image.fromarray(im_check)
    >>> im_check.show() # 查看过滤条件是否合适

    过滤效果:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么