weixin_46887967 2021-05-18 07:47 采纳率: 65.5%
浏览 33
已采纳

各位前辈好,我现在想知道这个红色线范围的最长和最高是多少

我现在的想法是有一条线从左往右走,碰到第一个红色的地方就打点,记下坐标,再从右往左走,第一个碰到红色线也打点,记下坐标,再把这两个左边之间的距离算出来,不知道这样的方法行不行,不知道用代码怎么写,想请各位前辈帮忙

 

  • 写回答

2条回答 默认 最新

  • 天元浪子 优质创作者: python技术领域 2021-05-18 08:26
    关注
    >>> import numpy as np
    >>> from PIL import Image
    >>> im = Image.open(r'd:\1621294984878.png') # 打开
    >>> r, g, b, a = im.split() # 通道分离
    >>> r, g, b = np.array(r), np.array(g), np.array(b) # 将RGB变成NumPy数组
    >>> rows, cols = np.where((r>192)&(g<64)&(b<64)) # 找出红色像素的行列号
    >>> rows.max() - rows.min() # 最大的行号-最小的行号,即为区域高度
    103
    >>> cols.max() - cols.min() # 最大的列号-最小的列号,即为区域宽度
    252
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?