用讯飞星火来生成代码效果怎么样,以计算CNI指标为例

作者用讯飞星火生成CNI指标的代码,CNI计算过程如下:
CNI计算指标

import cv2
import numpy as np

# 读取图片
image = cv2.imread('image.jpg')

# 将图片从RGB空间转换为CIELUV颜色空间
luv_image = cv2.cvtColor(image, cv2.COLOR_BGR2Luv)

# 分离L、U、V通道
l_channel, u_channel, v_channel = cv2.split(luv_image)

# 阈值处理
l_threshold = np.where((l_channel >= 20) & (l_channel <= 80), l_channel, 0)
s_threshold = np.where((u_channel >= 0.1), u_channel, 0)

# 根据色调值定义像素类别
skin_pixels = np.where((u_channel >= 25) & (u_channel <= 70), s_threshold, 0)
grass_pixels = np.where((u_channel >= 95) & (u_channel <= 135), s_threshold, 0)
sky_pixels = np.where((u_channel >= 185) & (u_channel <= 260), s_threshold, 0)

# 计算平均饱和度值和数量
average_skin = np.mean(skin_pixels)
n_skin = np.count_nonzero(skin_pixels)
average_grass = np.mean(grass_pixels)
n_grass = np.count_nonzero(grass_pixels)
average_sky = np.mean(sky_pixels)
n_sky = np.count_nonzero(sky_pixels)

# 计算全局CNI值
n_image = (average_skin * n_skin + average_grass * n_grass + average_sky * n_sky) / (n_skin + n_grass + n_sky)

print("皮肤像素的平均饱和度值:", average_skin)
print("皮肤像素的数量:", n_skin)
print("草像素的平均饱和度值:", average_grass)
print("草像素的数量:", n_grass)
print("天空像素的平均饱和度值:", average_sky)
print("天空像素的数量:", n_sky)
print("全局CNI值:", n_image)

(内容由讯飞星火AI生成)
若各位有兴趣可以去评估CNI结果是否正确。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风间野鹤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值