东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2883|回复: 0
打印 上一主题 下一主题

[课堂笔记] 如何区分彩色图片和灰度图片(同样都是3通道的情况)

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14429
QQ
跳转到指定楼层
楼主
发表于 2020-9-23 17:14:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


如何区分彩色图片和灰度图片(同样都是3通道的情况)




  1. # -*- coding: utf-8 -*-
  2. __author__ = u'江锦炬 微信:715781570'
  3. __date__ = '2020/9/23 下午4:42'
  4. __product__ = 'PyCharm'
  5. __filename__ = 'dfy_test_true_person_pass_rate'


  6. import os
  7. import cv2
  8. import numpy as np

  9. # 如何区分彩色图片和灰度图片(同样都是3通道的情况)

  10. def is_Gray(chip):
  11.     # chip_gray = cv2.cvtColor(chip,cv2.COLOR_BGR2GRAY)
  12.     r, g, b = cv2.split(chip)
  13.     r = r.astype(np.float32)
  14.     g = g.astype(np.float32)
  15.     b = b.astype(np.float32)
  16.     s_w, s_h = r.shape[:2]
  17.     x = (r + b + g) / 3

  18.     area_s = s_w * s_h
  19.     # x = chip_gray
  20.     r_gray = abs(r - x)
  21.     g_gray = abs(g - x)
  22.     b_gray = abs(b - x)
  23.     r_sum = np.sum(r_gray) / area_s
  24.     g_sum = np.sum(g_gray) / area_s
  25.     b_sum = np.sum(b_gray) / area_s
  26.     gray_degree = (r_sum + g_sum + b_sum) / 3
  27.     if gray_degree < 1.0:
  28.         # 灰度图片
  29.         return True, gray_degree
  30.     else:
  31.         # 彩色图片
  32.         return False, gray_degree



  33. img_path = "/media/jiang/AI_DataSets/DataSets/nir_rgb_original_data/sw-hdr-sm/rgb_sw_hdr_sm_20200607/001X29/1.jpg"
  34. img_path1 = "/media/jiang/AI_DataSets/DataSets/nir_rgb_original_data/sw-hdr-sm/rgb_sw_hdr_sm_20200607/001X29/2.jpg"

  35. img = cv2.imread(img_path)

  36. print(img.shape)

  37. cv2.imshow("ori", img)
  38. cv2.waitKey(0)


  39. ret, value = is_Gray(img)
  40. # 彩色图片 结果: False 8.359733153292181
  41. # 灰度图片 结果: True 0.03208879886831276
  42. print("结果:", ret, value)



复制代码




让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-4-19 18:11 , Processed in 0.157680 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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